4

我需要这个任务的帮助。**这是我需要程序执行的操作:

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

我无法让程序在用户输入时循环多次。我知道这是一个简单的修复,但我似乎无法弄清楚。我是否对循环使用了错误的语句?

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

2 回答 2

5

如果你从 0 开始,那么你会想要改变

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

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

因为它从 0 开始,所以这是第一次迭代,而 1 是第二次,依此类推。

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

sum += guess.nextInt();

最后,您不想每次都打印总和,只是在 END 处。所以在循环之后,打印总和。

您可能认为 havesum += num会要求用户输入另一个数字,但 num 只是用户输入的第一个数字(它不会改变)。每次迭代都需要获取用户的输入。

于 2013-03-24T17:55:35.927 回答
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);
于 2013-03-24T17:53:05.210 回答