需要循环重复用户输入的次数

时间:2013-03-24 17:50:07

标签: java for-loop

我需要帮助完成这项任务。 **以下是我需要该程序的内容:

  
      
  • 编写一个程序,提示用户进行多次迭代。
  •   
  • 程序应该循环多次。
  •   
  • 程序应该在每个循环中提示用户输入一个数字并将其添加到运行总计中。
  •   
  • 完成后打印运行总计。
  •   

我不能让程序循环多次,因为用户输入。我知道这是一个简单的修复,但我似乎无法弄明白。我在循环中使用了错误的语句吗?

Scanner guess = new Scanner(System.in);

int count =0;
int sum=0;
int num;

System.out.println("Enter a number");
num = guess.nextInt();

for(count =0; count <= num; count++)
{
    sum +=num;
    System.out.println("Your results are:"+sum);
}

2 个答案:

答案 0 :(得分:5)

如果您从0开始,那么您将需要更改

for(count =0; count <= num; count++)

for(count =0; count < num; count++)

因为它从0开始,所以这是第一次迭代,1是第二次,等等。

此外,您需要每次都询问用户。所以你想在循环中做这样的事情:

sum += guess.nextInt();

最后,您不希望每次都打印总和,只是在END。因此,在循环之后,打印总和。

你可能认为让sum += num会要求用户提供另一个号码,但num只是用户输入的第一个号码(它不会改变)。您需要每次迭代都获得用户的输入。

答案 1 :(得分:1)

您正在使用<=,您应该在<语句中使用for,否则您将绕过循环一次或多次;你应该提示在循环内添加数字,并包含适当的代码来跟踪那里的运行总和。

这样的事情:

Scanner guess = new Scanner(System.in);

int count =0;
int sum=0;
int num, N;

System.out.println("How many numbers will you enter?");
N = guess.nextInt();

for(count =0; count < N; count++)
{
    System.out.println("Enter a number");
    num = guess.nextInt();
    sum +=num;
}

    System.out.println("The sum of the numbers entered is:"+sum);