我被困住了。我正在嘗試洗掉輸出后面的最后一個逗號,但我只是不知道如何。
123, 97, 88, 99, 200, 50,
這是我下面的代碼,同時檢查陣列中的最高數字。
public static void main(String[] args) {
int[] array = {4, 97, 123, 49, 88, 200, 50, 13, 26, 99};
for (int i : array) {
if (i >= 50) {
System.out.print(i ", ");
}
}
System.out.println();
}
uj5u.com熱心網友回復:
這里的一種解決方法是在陣列中除第一個元素之外的所有元素前添加一個逗號。
public static void main(String[] args) {
int[] array = {4, 97, 123, 49, 88, 200, 50, 13, 26, 99};
for (int i=0; i < array.length; i) {
if (i > 0 && array[i] >= 50) {
System.out.print(", ");
}
if (array[i] >= 50) {
System.out.print(array[i]);
}
}
System.out.println();
}
這列印:
97, 123, 88, 200, 50, 99
編輯:
為簡潔起見,并且為了使用已經處理您需求的 Java 內部 API,我們可以直接使用Arrays.toString:
int[] array = {4, 97, 123, 49, 88, 200, 50, 13, 26, 99};
String output = Arrays.toString(array).replaceAll("^\\[|\\]$", "");
System.out.println(output);
// 4, 97, 123, 49, 88, 200, 50, 13, 26, 99
uj5u.com熱心網友回復:
為了修復您的代碼,我添加了一個標志,指示列印的第一個陣列元素。對于列印的所有后續陣列元素,我在前面加上分隔符。
int[] array = {4, 97, 123, 49, 88, 200, 50, 13, 26, 99};
boolean first = true;
for (int i : array) {
if (i >= 50) {
if (first) {
first = false;
}
else {
System.out.print(", ");
}
System.out.print(i);
}
}
System.out.println();
運行上面的代碼會列印以下內容:
97, 123, 88, 200, 50, 99
或者,您可以使用流:
public static void main(String[] args) {
int[] array = {4, 97, 123, 49, 88, 200, 50, 13, 26, 99};
String result = Arrays.stream(array)
.filter(i -> i >= 50)
.boxed()
.map(i -> i.toString())
.collect(Collectors.joining(", "));
System.out.println(result);
Arrays.stream回傳一個流intfilter僅保留陣列中 >= 50 的元素boxed將int(原始)轉換為Integer(物件)map轉換Integer為StringCollectors.joining連接流中的所有元素并用逗號后跟空格分隔每個元素,即,
運行上面的代碼會列印以下內容:
97, 123, 88, 200, 50, 99
uj5u.com熱心網友回復:
另一種解決方案,并保留 for-each 陳述句:
public static void main(String[] args) {
int[] array = {4, 97, 123, 49, 88, 200, 50, 13, 26, 99};
boolean found = false;
for (int i : array) {
if (found) {
System.out.print(", ");
} else {
found = true;
}
System.out.print(i);
}
System.out.println();
}
uj5u.com熱心網友回復:
這是您可以執行此操作的另一種方法。它利用了StringBuilder類:
int[] array = {4, 97, 123, 49, 88, 200, 50, 13, 26, 99};
StringBuilder sb = new StringBuilder("");
for (int i : array) {
if (i >= 50) {
if (!sb.toString().isEmpty()) {
sb.append(", ");
}
sb.append(i);
}
}
System.out.println(sb.toString());
輸出到控制臺視窗將是:
97, 123, 88, 200, 50, 99
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/481515.html
