基本上,我是在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;
}

09-25 20:33