如何在java中同时从用户那里获取多个输入?

时间:2015-02-10 20:40:46

标签: java input

假设有2个int& b,所以当我们从扫描仪获取输入时,我们需要先取一个变量值,然后按Enter键,然后从用户那里取另一个值。 是否有任何方式使int a&的输入框b将同时出现并分配用户只需输入一次的值吗?

2 个答案:

答案 0 :(得分:1)

如果您使用空格分隔输入,然后按下这样输入:

2 3

您可以正常使用nextInt()

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    a = in.nextInt();
    b = in.nextInt();
}

a将包含2,b将包含3。

如果需要,可以将两个nextInt()调用放在循环中,这样就可以读取多行:

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int numLines = in.nextInt();
    int a, b;
    for (int i = 0; i < numLines; i++) {
        a = in.nextInt();
        b = in.nextInt();
        System.out.println(a + ", " + b);
    }
}

答案 1 :(得分:1)

要从同一输入行获取用户的多个输入,您可以要求用户使用逗号或空格分隔输入。 在白色空间的情况下,安德森维埃拉的回答给出了正确的想法。您可以使用

中的2个连续nextInt()语句
System.out.println("Enter 2 nos.");
int a = sc.nextInt();
int b = sc.nextInt();

另外,您可以专门要求用户分开两个。用逗号,将输入作为字符串,然后分开两个。使用Integer.parseInt()命令。

System.out.println("Enter 2 nos. seperated with a comma(,) or a semicolon(;)");
String S = sc.nextLine();
String nos[] = S.split("[, ;]");
int a = Integer.parseInt(nos[0]);
int b = Integer.parseInt(nos[1]);

你可以使用任何其他角色来分离nos。