需要帮助输入二维数组

时间:2014-11-13 13:25:33

标签: java arrays methods tostring

我试图使用JOptionPane在messagedialog中输入一个2维数组。 我试过,但我不知道该怎么做。这就是我到目前为止所做的。

我的计划开始的地方:

package p4;

import javax.swing.JOptionPane;

import arrays.Integer2dArrays;

public class Exercise4b {
public void testArray(int[][] array) {
    String message = "";
    message += "toString: " + Integer2dArrays.toString( array ) + "\n";
//      message += "elements: " + Integer2dArrays.elements( array ) + "\n";
//      message += "max: " + Integer2dArrays.max( array ) + "\n";
//      message += "min: " + Integer2dArrays.min( array ) + "\n";
//      message += "sum: " + Integer2dArrays.sum( array ) + "\n";
//      message += "average: " + String.format( "%1.2f", Integer2dArrays.average( array ) ) + "\n";
    JOptionPane.showMessageDialog( null, message );
}

public static void main(String[] args) {
    Exercise4b e4b = new Exercise4b();
    int[][] test1 = {{1,2,3,4},{-5,-6,-7,-18},{10,9,8,7}};
    int[][] test2 = {{1,2,3,4,5,6},{-7,-8,-9},{2,5,8,11,8},{6,4}};
    e4b.testArray(test1);
    e4b.testArray(test2);        
}
}

我倾向于创建一个将数组转换为字符串的方法。

    package arrays;

    public class Integer2dArrays {
        public static String toString(int[][] array){

        }

    }

1 个答案:

答案 0 :(得分:2)

要以简单的方式显示二维数组,您可以使用此方法:

public class Integer2dArrays {
    public static String toString(int[][] array){
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<array.length;i++) {
            for(int j=0;j<array[i].length;j++) {
                sb.append(array[i][j]).append(", ");
            }
            sb.append("\n");
        }
        return sb.toString();
    }
}

这将按以下方式产生输出:

int[][] test1 = {{1,2,3,4},{-5,-6,-7,-18},{10,9,8,7}};

将是:

1, 2, 3, 4,
-5, -6, -7, -18,
10, 9, 8, 7,

如果您想要不同形式的输出,请指定您期望的格式。