Java 为什么System.out.println(字符串)不打印任何内容?
我的JavaIDE中有一些代码,我相信它支持控制台。我以前使用过java,知道其中的细节。然而,我以前从未遇到过这个问题。我的代码如下所示:Java 为什么System.out.println(字符串)不打印任何内容?,java,string,Java,String,我的JavaIDE中有一些代码,我相信它支持控制台。我以前使用过java,知道其中的细节。然而,我以前从未遇到过这个问题。我的代码如下所示: Scanner scanner = new Scanner(System.in); int choice = scanner.nextInt(); System.out.println("Choose a class."); TimeUnit.SECONDS.sleep(10); System.out.printl
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.printlnString不工作。您在接受输入后打印提示。由于您还没有看到提示,您可能没有键入任何输入。所以你永远无法通过Scanner.nextInt
您的代码没有意义。您可能需要将逻辑设置为:
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;
}
我可能不太理解你的问题,但我认为你需要确保一切井然有序。明白,不要使用Scanner类。顺便说一句,我不需要你告诉我我的代码没有意义。因为它没有。我知道。这就是我来这里的原因。想想看。我真的会认为如果电脑不能阅读我的代码,我的代码就完全有意义吗?我只是在发帖前写的。我以前用过java,知道它的来龙去脉->它似乎在来龙去脉之间遗漏了什么。在问新问题之前,请确保阅读指导。也就是说,对于这个问题,演示问题的两行代码可能会在不提问的情况下向您说明问题所在。明白了。但不能删除。而且,Sundararaj,是的,有些东西可能是。我已经有一年没有使用Java了。我想这是一种技能,如果不使用,它会随着时间的推移而退化。是的。这就是我所做的,正如EJP所展示的,它确实有帮助。虽然你似乎对它不那么挑剔。顺便说一下,谢谢。比EJP更不重要。