为什么System.out.println(String)没有打印任何内容?

时间:2017-03-17 23:26:22

标签: java string

我的java IDE中有一些代码,我相信它支持控制台。我之前使用过Java并且知道这些来龙去脉。但是,之前没有出现过这个问题。我的代码如下所示:

    Scanner scanner = new Scanner(System.in);
    int choice = scanner.nextInt();

    System.out.println("Choose a class.");
    TimeUnit.SECONDS.sleep(10);
    System.out.println("Press 1 for the a class.");
    TimeUnit.SECONDS.sleep(10);
    System.out.println("Press 2 for the b class.");
    TimeUnit.SECONDS.sleep(10);
    System.out.println("Press 3 for the c class.");
    TimeUnit.SECONDS.sleep(10);

    switch(choice) {
        case 1:
            playerClass.chosenClass = "a";
            break;
        case 2:
            playerClass.chosenClass = "b";
            break;
        case 3:
            playerClass.chosenClass = "c";
            break;
        default:
            System.out.println("Null class. Please press 1-3 to choose a player class.");
    }
}

我拥有所有导入,并且playerClass类确实存在。问题是," System.out.println(String)"不起作用。

2 个答案:

答案 0 :(得分:1)

接受输入后,您将打印提示。而且你还没有看到提示,你可能没有输入任何输入。所以你永远不会过去Scanner.nextInt()

您的代码没有意义。

答案 1 :(得分:0)

您可能想要做的是将您的逻辑设置为:

System.out.println("Press 1 for xx, 2 for xx, or 3 for xx");

if(scanner.hasNext()){
    choice = scanner.Int();
}

if(choice == 1){
     //do whatever;
}
else if(choice == 2){
     //do whatever;
}

我可能没有理解你的问题,但我认为你需要确保一切都井然有序。