Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在for循环中扫描输入_Java - Fatal编程技术网

Java 在for循环中扫描输入

Java 在for循环中扫描输入,java,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而停止一次,而且我无法找到一种方法来实际计算用户

我在计算用户用来连接它们的整数数时遇到问题

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

总和=8

而不是使用

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
}

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

在另一种情况下,如果你想把所有的数字相加,那么你必须做一个小的改变-

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

我会使用scan.nextLine读取整行文本,然后使用.split获取每个数字并将其相加。我看到的一个直接问题是,您正在循环到计数器,这是用户输入的第一个数字。。。这毫无意义。