[英]How can I concatenate a bunch of numbers with commas, without adding a trailing comma?
PrintWriter fout = new PrintWriter(new BufferedWriter(
new FileWriter("numbers.dat")
));
for(int i = start; i <= 100; i = i + 2) {
fout.print(i + ", ");
}
现在我的输出是这样的:
2, 4, 6, 8, 10,
我想要的是:
2, 4, 6, 8, 10
这是一种整洁的方法:
PrintWriter fout = new PrintWriter(new BufferedWriter(
new FileWriter("numbers.dat")
));
String sep = "";
for(int i = start; i <= 100; i += 2) {
fout.print(sep + i);
sep = ", ";
}
这是另一种方式:
PrintWriter fout = new PrintWriter(new BufferedWriter(
new FileWriter("numbers.dat")
));
for(int i = start; i <= 100; i += 2) {
fout.print((i == start ? "" : ", ") + i);
}
在不太确定PrintWriter
的功能的情况下,首先使用StringBuffer
生成字符串可能会更有效:
PrintWriter fout = new PrintWriter(new BufferedWriter(
new FileWriter("numbers.dat")
));
StringBuffer buffer;
for(int i = start; i <= 100; i += 2) {
buffer.append(i == start ? "" : ", ").append(i);
}
fout.print(buffer);
或更有效地:
PrintWriter fout = new PrintWriter(new BufferedWriter(
new FileWriter("numbers.dat")
));
StringBuffer buffer;
for(int i = start; i <= 100; i += 2) {
buffer.append(i).append(", ");
}
buffer.setLength(buffer.length()-1);
fout.print(buffer);
打印第一个数字,然后打印“,” +数字。 从i开始= start + 2;
尝试这个:
PrintWriter fout = new PrintWriter(new BufferedWriter(new FileWriter("numbers.dat")));
for(int i = start; i <= 100; i += 2) {
if(i + 2 <= 100)
fout.print(i+",");
}
做类似的事情-
fout.print(i);
if (i < 100) {
fout.print(",");
}
或在循环后写入StringBuffer并删除结尾的逗号
StringBuffer sb = new StringBuffer();
for(...){
...
}
sb.deleteCharAt(sb.length() -1);
fout.print(sb.toString());
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.