我如何读取用户输入的单个“行”,它按空格分隔值并将它们分配给某个变量?对我来说似乎很困惑。
例如,
Enter 3 digits = 3 4 5
Total = 12
我输入的输入,一旦有空格,只在我输入“3 4”时打印第一个值
我知道我不应该使用nextInt扫描仪,但我找不到方法
int a;
Scanner scan = new Scanner(System.in);
System.out.println("Enter 3 digits:");
a = scan.nextInt();
System.out.println(a);
答案 0 :(得分:2)
通过在for循环中进行求和:
Scanner scan = new Scanner(System.in);
System.out.println("Enter 3 digits:");
int sum=0;
for(int i=0;i<3;i++){
sum = sum + scan.nextInt();
}
System.out.println(sum);
答案 1 :(得分:1)
最好有一个变量数组,并一次一个地读取整数到数组中:
int[] a = new int[3];
Scanner scan = new Scanner(System.in);
System.out.print("Enter 3 digits: ");
for(int i = 0 ; i < a.length ; i++) //loop 3 times
{
a[i] = scan.nextInt(); //get int from input
System.out.println(a[i]);
}
scan.nextLine(); //consume the \n
答案 2 :(得分:1)
您只需再拨打nextInt()
2次。
int a = scan.nextInt();
int b = scan.nextInt();
int c = scan.nextInt();
答案 3 :(得分:1)
如果您需要在一次读取中读取所有整数,则可以使用此代码。如果逐一阅读,请参考其他答案。对于此代码,您可以创建一个循环并使用数组。
String a;
Scanner scan = new Scanner(System.in);
System.out.println("Enter 3 digits:");
a = scan.nextLine();
Scanner stscan = new Scanner(a);
System.out.println(a);
int number1 = stscan.nextInt();
int number2 = stscan.nextInt();
int number3 = stscan.nextInt();
System.out.println(number1+number2+number3);