2013-03-24 27 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

相關問題