コード初心者くさいです:
私は、構文を使用して、コンパイラの問題を有し、かつ上で動作するように、この方法を望んでいますHashmap
オブジェクトmyMap
。私は必要Add
取る方法をString
値を使用し、Hashmap
put
(キー、値)のペアを追加する機能を。
私はのファクトリメソッド開始入れてみましたnewMap
内部をmain
、アクセスの問題がありました。
import java.util.*;
public class MyMap {
public static String item;
public static String brand;
Map<String, String> myMap = newMap();
public static void main(String[] args) {
myMap.Add("apple");
}
public static HashMap<String, String> newMap() {
return new HashMap<>();
}
public static void Add(String item) {
String brand = "nobrand";
myMap.put(item, brand);
}
}
静/非静的項目にコンパイルエラー。私は彼らに、クラス全体で、すべてにアクセスできるようにするすべての静的を作りました。
保存:
次の2つのミスがあります:
まず、あなたは確認する必要がありmyMap
、このような静的:
static Map<String, String> myMap = newMap();
第二に、あなたは変更する必要がありますmyMap.Add("apple");
にAdd("apple");
あなたがいないメインクラスのメソッドを記述するためにHashMap
、あなたがそのようにそれを呼び出すことを期待していることともAdd
方法は静的であり、へのアクセス権を持っていますmyMap
。
総クラスは次のようになります:
import java.util.HashMap;
import java.util.Map;
public class Test {
public static String item;
public static String brand;
static Map<String, String> myMap = newMap();
public static void main(String[] args) {
Add("apple");
}
public static HashMap<String, String> newMap() {
return new HashMap<>();
}
public static void Add(String item) {
String brand = "nobrand";
myMap.put(item, brand);
}
}