3

openscript IDE を使用しています。「トークンの構文エラーです。これらのトークンを削除してください」というエラーが表示されます。私のコードは次のとおりです。

import java.util.Map;
public class HTMLObjectMap {

   HashMap<String, String> params = new HashMap<String, String>();
   params.put("test","test");
}
4

4 に答える 4

7

ステートメント

params.put("test","test");

定義していないメソッド内にある必要があります。いえ

public class HTMLObjectMap {

    HashMap<String, String> params = new HashMap<String, String>();
    public void method()
    {
        params.put("test","test");
    }
}

または、おそらく次のように初期化子が必要です

public class HTMLObjectMap {

    HashMap<String, String> params = new HashMap<String, String>();

    {
        params.put("test","test");
    }
}
于 2013-02-05T05:52:03.137 に答える
1

マップをプライベートにして、カプセル化と、その値にアクセスして外部に挿入するためのゲッターとセッターのメソッドを壊さないようにする必要があると思います。

public class HTMLObjectMap {

   private HashMap<String, String> params = new HashMap<String, String>();
   {
       // initialize if required  
   }
   public void get(String key){
         params.get(key);
   }
   public String put(String key,String value){
         params.put(key,value);
   }
}
于 2013-02-05T05:59:57.160 に答える
1

クラスを初期化する必要があります。Java クラスには、変数とメソッドしかありません。クラス内では、変数を宣言したり、メソッドを定義したりできます。それ以外のことは、メソッドを定義する必要があることを意味します。

public class HTMLObjectMap {
    HashMap<String, String> params = new HashMap<String, String>();
    // this is objects method.
    {
        params.put("test","test");
    }
    // this is your own method
    private void method1(){
        params.put("test1","test1");
    }
}
于 2013-02-05T06:03:28.870 に答える
1

初期化コードを中かっこに入れる必要があります。

public class HTMLObjectMap {
    HashMap<String, String> params = new HashMap<String, String>();
    {
        params.put("test","test");
    }
}

または静的が必要な場合:

public class HTMLObjectMap {
    static HashMap<String, String> params = new HashMap<String, String>();

    static
    {
        params.put("test","test");
    }
}
于 2013-02-05T05:55:25.793 に答える