我已经搜索了这个问题的时间,但我没有运气。
在Java中,我试图获得这种输出:
1,2,3
(不使用StringBuilder)
我得到的结果是:
1,2,3,
代码:
for(int i=1; i <= 3; i++){
String output = "";
output += i + ", ";
System.out.print(output);
}
p.s我没有为我的代码使用任何数组。
答案 0 :(得分:1)
在进行最终打印时要小心,因为您有一个累加器字符串变量,用于在最后进行印象 另外还要考虑你声明变量内的变量将在几次迭代时创建变量,最好在循环之前作证
使用substring需要两个参数开始位置,结束位置
String output = "";
for(int i=1; i <= 3; i++){
output += i + ", ";
}
System.out.print(output.substring(0, output.length()-2));
//obtains from 1, 2.3 and omit the, end with the length () - 1 as the final //position
<强>输出中强>
1,2,3
答案 1 :(得分:1)
这是一个变体,它在循环中只有一个三元表达式来构建你想要的输出。
String output = "";
for (int i=1; i <= 3; i++) {
output += (i > 1) ? ", " + i : i;
}
System.out.print(output);
答案 2 :(得分:1)
使用Java 8可以使用join函数实现。
String.join(“,”,list)
答案 3 :(得分:1)
虽然可能有很多方法可以做到这一点,但我最喜欢的方法是在for
循环中不引入任何不必要的比较。
所以你可以做的只是第一个字符,你可以直接把它放在循环外的字符串中,对于所有其他字符,你可以用原始字符串附加", <number>"
。
String output = "1";
for(int i=2; i <= 3; i++){
output += ", " + i;
}
System.out.print(output);
答案 4 :(得分:0)
易:
String output = "1";
for(int i=2; i <= 3; i++){
output += ", " + i;
}
System.out.print(output)
那会给你
1,2,3
无需使任务复杂化。这种事情总是出现。只需将第一种情况视为一种特殊情况。
答案 5 :(得分:0)
尝试更容易,只需检查字符串长度,如果变量附加分隔符:
-src
--bitbucket.org
---eagleamulet
----myFirst.go (package main)
-----utils
------tempconv
-------tempconv.go (package tempconv)
JQuery的代码段:
String output = "";
for(int i=1; i <= 3; i++){
if(output .length>0)
{
output +=',';
}
output += i;
System.out.print(output);
}
&#13;
var output = "";
for(var i=1; i <= 3; i++){
if(output .length>0)
{
output +=',';
}
output += i;
console.log(output);
}
&#13;
答案 6 :(得分:0)
您只需使用 java 8 stream api
即可List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
String s = list.stream().map(i -> i.toString ()).collect(Collectors.joining(","));