一行输入

时间:2013-10-04 20:06:05

标签: java

我如何读取用户输入的单个“行”,它按空格分隔值并将它们分配给某个变量?对我来说似乎很困惑。

例如,

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);

4 个答案:

答案 0 :(得分:2)

通过在f​​or循环中进行求和:

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);