печать матрицы в диалоговом окне - PullRequest
2 голосов
/ 29 марта 2010

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

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

    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 голосов
/ 29 марта 2010

Для небольших 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

Это обеспечивает контроль и скорость для ясности и краткости. Если ваша матрица больше и / или вам нужен полный контроль над тем, как печатается каждый элемент (например, выравнивание по правому краю), вам, вероятно, придется сделать что-то еще.

0 голосов
/ 03 июля 2014
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);
0 голосов
/ 28 октября 2013
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());

}
...