Java 用逗号分隔并排除最后一个逗号的输出值

Java 用逗号分隔并排除最后一个逗号的输出值,java,comma,Java,Comma,我需要我的输出用逗号分隔,但我需要排除最后一个逗号,以及如何重新运行我的程序。我需要尽可能用最简单的方法来做。这就是我到目前为止所做的: System.out.print("Enter numbers (-1 to end):"); int num = input.nextInt(); int sum = 0; String u= " "; while (num != -1) { sum += num; u += num + ","; nu

我需要我的输出用逗号分隔,但我需要排除最后一个逗号,以及如何重新运行我的程序。我需要尽可能用最简单的方法来做。这就是我到目前为止所做的:

System.out.print("Enter numbers (-1 to end):");

  int num = input.nextInt();      
  int sum = 0;
  String u= " ";

  while (num != -1) {
    sum += num;
    u += num + ",";
    num =  input.nextInt();
  }
System.out.println("Entered Numbers: " + u);

System.out.println("The Sum: " + sum);
替换

u += num + ",";

只有在
u
中已经添加了内容时,才会添加逗号


请注意,最好使用
StringBuilder
在循环中连接字符串。

循环并将结果放入StringBuilder

StringBuilder buf = new StringBuilder  (" ");
while (num != -1) {
  sum += num;
//  u += num + ",";

  buf.append (num).append (",");
  num =  input.nextInt();
  }
然后打印除最后一页以外的所有内容

  System.out.println (buf.substring(0, buf.length () - 1));


OP只要求排除最后一个
,而不是如果立即输入-1就会出现的最后一个空格。@AndyTurner我想他这样做是偶然的。顺便说一句,我可能已经编辑过了,但我们不要假设:)非常感谢你的工作。最后一个问题,什么是重新运行程序的简单方法,或者至少给用户重新运行程序的选项您需要使用循环。@PatriciaShanahan只有一个操作会产生副作用-最外层操作中的
+=
,因此它与该建议并不矛盾。然而,我同意这可能不是最清楚或最有效的。
  System.out.println (buf.substring(0, buf.length () - 1));
if (u.endsWith(",")) {
  u= u.substring(0, u.length() - 1);
}
StringUtils.stripEnd(u, ",");