基本上,我是在BlueJ中制作此Java程序的,其中播放器位于《指环王》的世界中。我为武器,物品等创建了单独的程序包。在所有程序包的外部(在项目屏幕的主体中)有一个Main类。在那儿,我尝试了一些东西。
public static void test()throws Exception{
System.out.println("There is a brass sword and an iron sword. Which do you want?");
Scanner in = new Scanner(System.in);
String s = in.next();
HashMap options = new HashMap();
options.put("brass", new Sword());
options.put("iron", new Sword());
Sword k = options.get(s);
}
我希望以上方法可以将Sword对象返回给我。不幸的是,这行不通。任何帮助....?
最佳答案
只需使用参数化的类型HashMap
,将HashMap
声明为
HashMap<String, Sword> options = new HashMap<String, Sword>();
我希望以上方法可以将Sword对象返回给我。
然后更改方法的返回类型并为其添加返回值:
public static Sword test()throws Exception{
System.out.println("There is a brass sword and an iron sword. Which do you want?");
Scanner in = new Scanner(System.in);
String s = in.next();
HashMap<String, Sword> options = new HashMap<String, Sword>();
options.put("brass", new Sword());
options.put("iron", new Sword());
Sword k = options.get(s);
return k;
}