在Java中接收多个控制台输入

时间:2014-03-27 13:03:50

标签: java input console

在C ++中,当我们需要接收多个控制台输入(全部键入同一行)时,我们使用以下内容:

int num1, num2, num3;
cin >> num1 >> num2 >> num3;

//Input
21 33 42[Enter]

//Output
21 33 42

在Java中做同样的事情,这是正确的方法吗?

Scanner scn = new Scanner(System.in);
int num1, num2, num3;
num1 = scn.nextInt();
num2 = scn.nextInt();
num3 = scn.nextInt();

2 个答案:

答案 0 :(得分:0)

你是对的,但是如果你必须在读取整数值之后使用.nextLine()读取字符串,如果你在整数后点击“enter”,那么nextInt()只会消耗整数值而忽略回车符,如果你试图立即读取字符串,将由.nextLine()消耗。在这种情况下,只需在.nextInt()之后添加一个额外的.nextLine()。

答案 1 :(得分:0)

如果你想在输入时读取未知数量,请尝试:

Scanner scn = new Scanner(System.in);
List<Integer> list = new ArrayList<Integer>();
String s = "";
while (!(s = scn.next()).equals("stop")) {
    try {
        list.add(Integer.parseInt(s));
    } catch (NumberFormatException e) {
        System.err.println("Thats not a Number!!");
    }
}