2014-09-29 45 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()); 

您必须对此代码进行微调,以避免在最后一个数字后打印多余的“,”。