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