печать матрицы в диалоговом окне


У меня возникли небольшие трудности с печатью массива матриц в диалоговом окне. Матрица является целочисленной, и, насколько я понял, мне нужно изменить ее на строку?

В любом случае, вот код:

    public void print_Matrix(int row, int column)
 {

  for (int i = 0; i <= row; i++)


  {
   for (int j = 0; j <= column; j++)
   {
    JOptionPane.showMessageDialog(null, matrix_Of_Life);
   }
  }

Что мне нужно сделать, чтобы распечатать массив в диалоговом окне?

Спасибо.

3   2  

3 ответа:

Для небольших 2D массивов, что-то вроде этого удобно:

int[][] matrix = {{1,2,3}, {4,5,6}, {7,8,9}};
String s = Arrays.deepToString(matrix)
   .replace("], ", "\n").replaceAll(",|\\[|\\]", "");

System.out.println(s);

Это печатает:

1 2 3
4 5 6
7 8 9
Это уступает контроль и скорость для ясности и краткости. Если ваша матрица больше и / или вы хотите полностью контролировать, как печатается каждый элемент (например, выравнивание по правому краю), вам, вероятно, придется сделать что-то еще.
private static void printMatrix(char[][] mat) {

    StringBuffer str = new StringBuffer();

    for(int i=0;i<mat.length;i++){
        for(int j=0; j<mat[0].length;j++){

            str.append(mat[i][j]).append(" ");
        }

        str.append("\n");
    }

    System.out.println(str.toString());

}
StringBuffer str=new StringBuffer();

for(i=0;i<3;i++)
{    
    for(j=0;j<3;j++){
        str.append(matrix[i][j]).str(" ");
    }
    str.append("\n");
}

JOptionPane.showMessageDialog(null,"Matrix:"+"\n" +str);