簡體   English   中英

用Java方法打印數組

[英]Printing an array in Java method

所以我需要將一個整數數組打印成一個字符串,並且我幾乎可以解決一個問題

public static String arrayToString(int[] anArray) {
    String x = "";
    String y = "";
    String result = "";
    for (int i = 0; i < anArray.length; i++) {
        y = Integer.toString(anArray[i]);
        x = x + ", " + y;
    }
    result = "[" + x + "]";
    return result;
}

public static void main(String[] args) {
    int arrayInt[] = new int[] { 80, 100, 80, 92, 95, 87, 82, 76, 45, 76, 80, 70};
    System.out.println("array : " + arrayToString(arrayInt));
}

當我執行代碼時,而不是打印:

[80,100,80,92,95,87,82,76,45,76,80,70]

我得到:

[,80,100,80,92,95,87,82,76,45,76,80,70]

這對我來說真的很簡單,但是我被困住了,我需要在哪里放置異常以將其刪除?

你只是增加一個額外的,在開始的時候。 擺脫它的一種簡單方法是
更換

result = "[" + x + "]";

result = "[" + x.substring(1) + "]";

但是最好的解決方案是使用Arrays.toString 請參閱了解更多詳情。

問題是,你得到一個額外的逗號 ,開頭。 這將解決arrayToString函數中的問題:

public static String arrayToString(int[] anArray) {
    String x = "";
    String y = "";
    String result = "";
    for (int i = 0; i < anArray.length-1; i++) {
        y = Integer.toString(anArray[i]);
        x = x + y + ",";
    }
    y = Integer.toString(anArray[anArray.length-1]);
    x = x + y;
    result = "[" + x + "]";
    return result;
}
 public static String arrayToString(int[] anArray) {
    String x = "";
    String y = "";
    String result = "";
    for (int i = 0; i < anArray.length; i++) {
        y = Integer.toString(anArray[i]);
        if(x.isEmpty()){
            x = y;
        } else {
            x = x + ", " + y;
        }
    }
    result = "[" + x + "]";
    return result;
}

public static void main(String[] args) {
    int arrayInt[] = new int[] { 80, 100, 80, 92, 95, 87, 82, 76, 45, 76, 80, 70 };
    System.out.println("array : " + arrayToString(arrayInt));
}

您可以包括檢查第一個元素。

if( i == 0 ) x = y; else x = x + ", " + y;

請更改代碼的最后一行,結果字符串變量如下:

public static String arrayToString(int[] anArray) {
String x = "";
String y = "";
String result = "";
for (int i = 0; i < anArray.length; i++) {
    y = Integer.toString(anArray[i]);
    x = x + ", " + y;
}
 result = "[" + x + "]";
 return result.charAt(0)+result.substring(3);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM