我编写了以下简单程序来从控制台读取整数:
import java.util.Scanner;
public class InputCheck {
public static void main(String[] args) {
int n;
Scanner in = new Scanner(System.in);
System.out.println("Enter value of n:");
n = in.nextInt();
System.out.println("Value of n is: " + n);
}
}
但是我必须输入两个输入才能让扫描仪读取它,即使只考虑第一个输入。这是控制台中的输出:
Enter value of n:
5
1
Value of n is: 5
我见过很多类似的问题,但没有一个解决了这个特定的问题。
我知道我可以做 nextLine() 然后做一个 parseInt 但我真的很想知道我在这里做错了什么。
提前致谢。
编辑:关于代码的很多问题。那是确切的代码。此外,我可以确认我在 Eclipse Juno 和 Kepler 上观察到了相同的行为。在这里查看:i44.tinypic.com/2h83e52.png
还要在 Eclipse 之外编译和运行程序,并且仍然观察到相同的行为。我正在使用 Java 版本 1.6.0。这可能与此有关吗?