在for循环中扫描输入

时间:2013-10-05 00:08:11

标签: java

我无法统计用户连接它们的整数数量。

int sum = 0, counter;

System.out.println("enter between 1 to 3 digits:");
counter = scan.nextInt();
for(int i=0;i<counter;i++){
    sum = sum + scan.nextInt();
}
System.out.println(sum);

这不仅因nextInt而停止一次,但我无法找出实际计算用户放置的整数的方法。

例如:

  

输入1至3位数字:2 3 3

     

sum = 8

2 个答案:

答案 0 :(得分:0)

而不是使用

counter = scan.nextInt();
for(int i=0;i<counter;i++){
    sum = sum + scan.nextInt();
}

你可以使用

int[] input = new int[3]; //creates array on intergers
while(scan.hasNext()) //loops while there is still input left
{
    input[counter] = Interger.parseInt(scan.next()); //sets input[counter] to the next integer (separated by a space)
    counter++; //increments counter
}
for(int i = 0; i < counter; i++) //loops <amount of integers put in> times
{
    sum += input[i]; //adds input[i] to the total
}

答案 1 :(得分:0)

因此,您接受第一个整数输入,但不将其添加到总和中。您是否希望第一个整数告诉您用户想要输入多少个数字?如果是,那么您的代码是正确的。

在其他情况下,如果您只想添加所有数字,那么您必须做一些小改动 -

System.out.println("enter between 1 to 3 digits:");
String s= scan.nextLine();
String ss[] = s.split(" ");
for (String w:ss)
   sum = sum + Integer.parseInt(w);
System.out.println(sum);
相关问题