2014-09-29 42 views
0

我一直想弄清我的代碼幾個小時,我知道這可能是簡單的,但我真的很感謝一些幫助!哨兵價值和顯示我的結果

這裏是我的問題:

// Purpose: This program will prompt the user to enter a positive integer. 
// The program will accept integers until the user enters a -1. 
// Once the -1 is entered, the program will display the integers followed 
// by their sum. 

import java.util.Scanner; 

public class InputSum 
{ 
public static void main(String[] args) 
{ 

Scanner scan = new Scanner(System.in); 

// variable declaration 
int inputNumber; 
int stringNumber = 0; 
int num = 0; 
int sum = 0; 

// prompt user to enter an integer 
System.out.print("Enter a positive integer: "); 
inputNumber = scan.nextInt(); 

// continue to have user enter integers until: 
while (inputNumber >= 0) 
{ 
sum += inputNumber; 
stringNumber = inputNumber++; 
System.out.print("\n Enter another positive integer (enter -1 to quit): "); 
inputNumber = scan.nextInt(); 
// -1 is entered 
if (inputNumber == -1) 
{ 
break; 
} 
} 
// display results 
System.out.print("\n The integers you entered were: " + Integer.toString(stringNumber)); 
System.out.print("\n The sum of the intergers are: " + sum); 



} 
} 

現在我的結果正確顯示我的總和,但它應該顯示我在用逗號分隔的一個行中輸入整數。 (EX:如果用戶輸入1,1,1我的結果應該是你輸入的整數是:1,1,1整數的總和是:3)。現在它將我輸入的整數添加到標記值並顯示我的結果爲:輸入的整數是:1.

我真的被困在如何做到這一點。有什麼建議麼?謝謝!

回答

0

您必須每次存儲輸入。

更換

stringNumber = inputNumber++; 

通過

stringNumber += inputNumber+", "; 

這將輸入存儲在inputNumber

變化

System.out.print("\n The integers you entered were: " + Integer.toString(stringNumber)); 

System.out.print("\n The integers you entered were: " + stringNumber); 

這將顯示所有輸入輸入。

+0

工作!謝謝! – Caitlin 2014-09-29 16:05:58

0

你只打印您輸入的最後一個數字:

System.out.print("\n The integers you entered were: " + Integer.toString(stringNumber)); 

如果你想打印所有輸入數字,你必須將它們存儲在什麼地方。

如果您想將它們存儲在stringNumber中,請將其類型更改爲StringBuilder,並將每個數字附加到它。

StringBuilder stringNumber = new StringBuilder(); 
... 
stringNumber.append(inputNumber); 
stringNumber.append(", "); 
... 
System.out.print("\n The integers you entered were: " + stringNumber.toString()); 

您必須對此代碼進行微調,以避免在最後一個數字後打印多餘的「,」。