【问题标题】:Need a loop to repeat as many times as the user entered需要一个循环重复用户输入的次数
【发布时间】:2018-09-12 06:38:17
【问题描述】:

我需要这项作业的帮助。 **这是我需要程序执行的操作:

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

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

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

【问题讨论】:

  • 你从不要求循环内的数字,我会从添加它开始。
  • 您的循环将从 0 迭代到 num(包括 num)。试着数一下会出现多少次。

标签: java for-loop


【解决方案1】:

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

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

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

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

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

sum += guess.nextInt();

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

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

【讨论】:

  • 感谢您的解释。很好,很容易修复。
  • 是的,我要去!您必须等待五分钟才能接受答案,我现在做到了。非常感谢您的帮助。我有另一个需要帮助的程序,我将很快发布。
  • 也许自己先尝试一下?我的意思是你在上某种 CS 课,你应该试着用你在课堂上学到的东西来自己解决问题。 (Stackoverflow 更像是最后的手段)
  • 是的,我将从您的解决方案中学到什么,看看我是否可以做类似的事情。当我让程序自己运行时,我确实很享受。到目前为止,我在班上得了 A!这是一门Java的编程和逻辑课程。
【解决方案2】:

您正在使用&lt;=,而您应该在for 语句中只使用&lt;,否则您将循环一到多次;并且您应该提示将数字添加到循环中,并包含适当的代码以跟踪那里的运行总和。

类似这样的:

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

【讨论】:

  • 是的,我知道。这真的不能解决我的问题。
  • @Chris:如果你知道,为什么你的代码中有这个错误?你为什么要问如果你对循环使用了错误的语句怎么办?是的,您使用了错误的语句,这就是您必须修复它的方法。你没有在你的问题中问任何其他问题。
  • 对于编辑,与我的答案基本相同(但您可能在编辑时没有看到我的答案)。
  • @jaybob - 是的,我在写这篇文章时没有看到你的答案(ipad 不适合快速编辑......)。基本同意。
  • 是的,我在扩展答案之前看到了它。类似于 jaybob 的解决方案。很高兴看到解决方案的更多方法。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多