【发布时间】:2012-05-09 01:04:15
【问题描述】:
我刚刚开始使用 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 位。我以同样的方式运行它,没有重新编译,程序运行良好。
任何想法为什么它会这样?
【问题讨论】:
-
您是否尝试过使用调试器?