Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java sentinel值并显示我的结果_Java - Fatal编程技术网

Java sentinel值并显示我的结果

Java sentinel值并显示我的结果,java,Java,我已经花了好几个小时试图弄明白我的代码,我知道这可能很简单,但我真的很感谢你的帮助 我的问题是: // 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 integ

我已经花了好几个小时试图弄明白我的代码,我知道这可能很简单,但我真的很感谢你的帮助

我的问题是:

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



}
}

现在,我的结果正确地显示了我的总和,但它应该显示我输入的整数,用逗号分隔。(例如:如果用户输入1,1,1,我的结果应该是您输入的整数是:1,1,1,整数之和是:3)。现在它将我输入的整数添加到sentinel值中,并将结果显示为:您输入的整数为:1


我真的很想知道怎么做。有什么建议吗?谢谢

您只打印最后输入的号码:

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

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

每次都必须存储输入

替换

stringNumber = inputNumber++;

这将把输入存储在
inputNumber

改变

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

这将显示输入的所有输入

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