![](/img/trans.png)
[英]how to store and print row number separated by comma in a for loop in a Java Program, I am using Java 4,looking for alternatives of List in Java 4
[英]How can I print a comma separated list on 1 line with the last number ending without a comma/space/new line using a FOR loop?
for (i = 0; i < hourlyTemp.length; i++) {
System.out.print(hourlyTemp[i] + ", ");
}
這會給我我想要的輸出,但結尾有一個逗號。 我怎么能在沒有逗號的情況下做到這一點? 甚至可以使用for循環嗎?
十分簡單。
for(int i = 0; i < hourlyTemp.length; i++) {
System.out.print(hourlyTemp[i]);
if(i == hourlyTemp.length -1) break;
System.out.print(",");
}
你可以添加一個if
語句來打印逗號:
for (i = 0; i < hourlyTemp.length; i++) {
System.out.print(hourlyTemp[i]);
if(i != (hourlyTemp.length - 1)){
System.out.print(", ");
}
}
如果您不想在循環中使用 if 條件以避免在較大數組的情況下進行條件檢查,則可以使用以下代碼:
for (i = 0; i < hourlyTemp.length - 1; i++)
{
System.out.print (hourlyTemp[i] + ", ");
}
System.out.print (hourlyTemp[hourlyTemp.length - 1]);
我發現抑制前導逗號而不是尾隨逗號更容易,因為我們不必使用length
來這樣做:
for (i = 0; i < hourlyTemp.length; i++) {
if (i != 0)
System.out.print(", ");
System.out.print(hourlyTemp[i]);
}
對於 for-each 循環,您需要一個標志:
boolean first = true;
for (double temp : hourlyTemp) {
if (first)
first = false;
else
System.out.print(", ");
System.out.print(temp);
}
您還可以使用整行構建一個String
。 那會表現得更好,因為print()
有一些開銷:
StringBuilder buf = new StringBuilder();
for (double temp : hourlyTemp)
buf.append(", ").append(temp);
if (buf.length() != 0)
System.out.print(buf.substring(2));
使用 Java 8 中添加的StringJoiner
更加容易:
StringJoiner buf = new StringJoiner(", ");
for (double temp : hourlyTemp)
buf.add(String.valueOf(temp));
System.out.print(buf.toString());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.