2013-03-13 3 views
1

JOptionPane을 가져 와서 다차원 배열을 표시하는 방법을 찾을 수 없습니다.OptionPane에 표시된 Java 다차원 배열

이것은 첫 번째 시도입니다. 당신이 뭔가 잘못 볼 수 있듯이

public static void main (String [] args) 
{ 
    int[][] numbers = new int[5][5]; 

    int rows = 5; 
    int columns = 5; 

    numbers[0][0] = 30; 
    numbers[0][1] = 29; 
    numbers[0][2] = 28; 
    numbers[0][3] = 27; 
    numbers[0][4] = 26; 

    numbers[1][0] = 26; 
    numbers[1][2] = 25; 
    numbers[1][2] = 24; 
    numbers[1][3] = 23; 
    numbers[1][4] = 22; 

    int x, y; 

    for (x = 0; x < rows; x++) 
    { 
     for (y = 0; y < columns; y++) 
     { 
      System.out.print(numbers[x][y] + " "); 
     } 
     System.out.println(""); 

    } 
    JOptionPane.showMessageDialog(null, numbers,"Arrays",JOptionPane.INFORMATION_MESSAGE); 
    System.exit(0); 
} 

는 JOptionPane의 출력을

https://www.dropbox.com/s/hfyjsgeaimpr2dh/JOptionPane%20output.PNG

입니다.

콘솔 출력은 다음과 같습니다.

https://www.dropbox.com/s/ac0a65kttdora27/Console%20output.PNG

는 그리고 내가 원하는 콘솔 출력이있는 JOptionPane에 표시됩니다 볼 수 있다는 것입니다.

미리 감사드립니다.

답변

1

당신은 콘솔로 인쇄하고 같은 방법으로 StringBuilder을 사용할 수 있습니다 : 당신은 같이 진행할 수

public static void main (String [] args) 
{ 
    int[][] numbers = new int[5][5]; 

    int rows = 5; 
    int columns = 5; 

    numbers[0][0] = 30; 
    numbers[0][1] = 29; 
    numbers[0][2] = 28; 
    numbers[0][3] = 27; 
    numbers[0][4] = 26; 

    numbers[1][0] = 26; 
    numbers[1][2] = 25; 
    numbers[1][2] = 24; 
    numbers[1][3] = 23; 
    numbers[1][4] = 22; 

    int x, y; 
    StringBuilder builder = new StringBuilder(); 
    for (x = 0; x < rows; x++) 
    { 
     for (y = 0; y < columns; y++) 
     { 
      builder.append(numbers[x][y] + " "); 
     } 
     builder.append("\n"); 
    } 
    JOptionPane.showMessageDialog(null, builder,"Arrays",JOptionPane.INFORMATION_MESSAGE); 
    System.exit(0); 
} 
0

numbers 배열을 showMessageDialog()에 전달하고 표시 방법을 알고 있어야합니다. 혼자서 적절한 레이아웃을 찾아야합니다. 아마도 JPanel을 생성하고 원하는 출력을 표시하기 위해 일부를 JLabels으로 레이아웃했을 것입니다.

0

확인은 다음과 같습니다

StringBuilder sBuilder = new StringBuilder(); 
sBuilder.append("<Html><Body>"); 
sBuilder.append("<Table>"); 
for (int i = 0 ; i < numbers.length ;i++) 
{ 
    sBuilder.append("<tr>"); 
    for (int j = 0 ; j < numbers[i].length; j++) 
    { 
    sBuilder.append("<td>"+numbers[i][j]+"</td>"); 
    } 
    sBuilder.append("</tr>"); 
} 
sBuilder.append("</Table>"); 
sBuilder.append("</Body></Html>"); 
JOptionPane.showMessageDialog(null, sBuilder.toString(),"Arrays",JOptionPane.INFORMATION_MESSAGE); 
+0

@ 존 웰스가 : 업데이트 된 대답을 참조 .. –