有多少个整数,加上整数

时间:2012-11-21 18:19:56

标签: java loops while-loop

import java.util.Scanner;
public class InputLoop
{
    public static void main(String[] args)
  {
    Scanner scan = new Scanner(System.in);
    System.out.println("Enter an integer to continue or a non integer to finish");

    while (scan.hasNextInt())
    {
        System.out.println("Enter an integer to continue or a non integer to finish");
        int value = scan.nextInt();
        System.out.print("user: ");
    }
    scan.next();
    {
        System.out.println ("You entered");
        System.out.println ();

    }
}

}

如果它表示'你输入',我必须输入多少个整数,例如'3',然后将整数加在一起,例如'56'。我不知道该怎么做,我该如何实现呢?

4 个答案:

答案 0 :(得分:4)

每次用户输入整数时,保持List<Integer>并添加到此列表。因此,添加的整数数量仅为list.size()。根据您当前正在进行的操作,无法访问用户的旧输入。

您也可以使用存储总计和计数的变量(在这种情况下可以正常工作),但在我看来,如果您决定更新/使用List方法,将为您提供更大的灵活性修改这段代码,作为程序员,你应该记住这一点。

List<Integer> inputs = new ArrayList<Integer>();

while (scan.hasNextInt()) {
    ...
    inputs.add(scan.nextInt());
}

...

答案 1 :(得分:2)

只需保留名为count的变量和名为sum的变量。 并将while循环中的代码更改为:

 int value = scan.nextInt();
 sum += value;
 count++;

最后,您可以在while循环结束后输出。

顺便说一句,你不需要在scan.next()之后放置那些花括号{}; 它们是无关的,并且将始终独立于scan.next();

执行

所以只需将其更改为:

scan.next();  //I presume you want this to clear the rest of the buffer?
System.out.println("You entered " + count + " numbers");
System.out.println("The total is " + sum);

答案 2 :(得分:0)

有一个count变量,在main的开头声明并递增它。

你也可以用同样的方式保存一个和变量。

while (scan.hasNextInt())
{
    System.out.println("Enter an integer to continue or a non integer to finish");
    int value = scan.nextInt();
    count++;
    sum += value;
    System.out.print("user: ");
}

scan.next();
{
    System.out.println ("You entered");
    System.out.println (count);
}

答案 3 :(得分:0)

对于您想要输出的内容,您无需保留用户输入的历史记录。您只需要一个运行总计和一个计数。您也不需要对scan.next()进行最后一次通话,也不需要将最后println次来电放在一个单独的区块中。

public class InputLoop
{
    public static void main(String[] args)
    {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter an integer to continue or a non integer to finish");

        int total = 0;
        int count = 0;
        while (scan.hasNextInt())
        {
            System.out.println("Enter an integer to continue or a non integer to finish");
            int value = scan.nextInt();
            total += value;
            ++count;
            System.out.print("user: ");
        }
        System.out.println ("You entered " + count + " values with a total of " + total);
    }
}