Java突出显示和选择输入

时间:2012-02-21 18:39:48

标签: java console highlighting

我开始用类似于武器商店的java编写游戏。我试图让用户能够在控制台中选择在HashMap中打印的项目。一旦用户选择并突出显示该项目,用户就会购买该项目。有没有内置的实用程序Java支持这个?这就是我所拥有的:

public static int purchaseMedicine(int goldAmount) {

    HashMap<String, Integer> map = new HashMap<String, Integer>();
    map.put("Jewel of Open", 500);
    map.put("Potion", 800);
    map.put("Hi-Potion", 2000);
    map.put("Elixir", 8000);
    map.put("Manna Prism", 4000);
    map.put("Antivenom", 200);
    map.put("Hammer", 200);
    map.put("Library Card", 500);

    int index = 0;

    for(Map.Entry<String, Integer> entry : map.entrySet()) {

        System.out.println(entry.getKey() + " " + entry.getValue());
    }

    System.out.printf("\n\tGold %d\n\n", goldAmount);
    return index; // Returns the instances of medicineList
}

1 个答案:

答案 0 :(得分:1)

内置于Java,答案是否定的。

可以从标准Ja​​va中使用,可以从System.out.println()语句中尝试ANSI escape codes,但这些可能会被您正在使用的操作系统控制台破坏。

如果您愿意导入一个小的jar文件,那么最佳解决方案是Jansi。在这里,程序员可以更好地控制控制台中显示的内容。所以基本上代码看起来像这样:

System.out.println( ansi().eraseScreen().fg(RED).a("Hello").fg.(GREEN).a(" World").reset() )

您只需要自己进行逻辑检查,看看该物品是否已被购买。