我刚刚开始使用 Java,并且一直在尝试让控制台输入正常工作。这是代码:
System.out.println("Write a word: ");
Scanner keyboard = new Scanner(System.in);
System.out.println("DEBUG 1");
str = keyboard.nextLine();
System.out.println("DEBUG 2");
System.out.println(str);
这应该只接受一次输入并打印输入,如下所示:
Write a word:
DEBUG 1
Hello //My input
DEBUG 2
Hello //Output
但这就是发生的事情:
Write a word:
Hello //My input
DEBUG 1
//Waiting for new input
DEBUG 2
Hello //The first input
所以,在我看来,它以某种方式接受了Scanner keyboard = new Scanner(System.in);行的输入。然后把它放在我的变量str中。我使用gcj进行编译,使用以下命令编译运行:
javac hello_world.java
java hello_world
编辑:我现在尝试在另一台计算机上运行该程序,使用 Ubuntu 10.04 64 位,而不是以前的 Ubuntu 10.04 32 位。我以同样的方式运行它并且没有重新编译,并且程序运行良好。
任何想法为什么它会这样?