2013-03-24 29 views
2

我需要此帮助。 **以下是我所需要的程序来做:需要循环重复用户输入的次数

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

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

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

你永远不会要求循环内的数字,我会开始添加。 – Keppil 2013-03-24 17:51:23

+1

你的循环将从0迭代到num(包括num)。试着去计算它会是多少次。 – Pshemo 2013-03-24 17:53:12

回答

5

如果你是从0开始,那么你将要改变

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

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

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

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

sum += guess.nextInt(); 

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

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

+0

谢谢你的解释。好,很容易修复。 – TitanC 2013-03-24 17:59:46

+0

是的,我要去!在接受答案之前,您必须等待五分钟,我现在已经做了。非常感谢您的帮助。我有另一个程序,我需要帮助,我将很快发布。 – TitanC 2013-03-24 18:07:11

+1

也许首先尝试一下吧?我的意思是说你在某个CS班上,你应该尝试使用你在课堂上学到的东西来自己解决问题。 (Stackoverflow更像是最后的手段) – jessechk 2013-03-24 18:08:43

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

是的,我知道。这真的不是我的问题的解决方案。 – TitanC 2013-03-24 17:56:31

+1

@Chris:如果你知道,为什么你的代码中有这个bug?你为什么要问,如果你在循环中使用错误的语句?是的,你使用的是错误的语句,这就是你必须修复它的方法。你在问题中没有问任何其他问题。 – 2013-03-24 17:58:19

+0

对于编辑,基本上与我的回答相同(但您可能没有看到我的编辑)。 – jessechk 2013-03-24 18:01:20

相关问题