2013-04-05 84 views
0

好吧,說我有多維數組,我想在JOptionPane.showMessageDialog顯示。我知道在使用System.out.println時,您使用了for循環。但是數組大小由用戶輸入決定,因此我必須使用增量器。JOptionPane多維數組輸出

例如:userinput[k]旁邊usernumber[k]再下一行是userinput[k+1]旁邊usernumber[k+1]

我遇到的問題是,通過我的循環,它的每個設置一個在不同的窗口,而不是一個時間所有在一個窗口中的表中。

for (int k = 0; k < userinput.length; k++){ 
    JOptionPane.showMessageDialog(null, userinput[k]); 
} 

for (int k = 0; k < 2; k++){ 
    JOptionPane.showMessageDialog(null, usernumber[k]); 
} 

回答

1

使用StringBuilder並且陣列的每個元件連接成一顯示報文,

+0

+1的基本概念;) – MadProgrammer 2013-04-05 00:36:29

2

建立您的輸出到一個單一的String

您可以使用html標籤來提供額外的格式

StringBuilder sb = new StringBuilder(64); 
sb.append("<html><table>"); 
for (int ui = 0; ui = < userinput.length; ui++) { 
    sb.append("<tr><td>"); 
    sb.append(userinput[ui]); 
    sb.append("</td>"); 
    for (int k = 0; k < 2; k++){ 
     sb.append("<td>"); 
     sb.append(usernumber[k]); 
     sb.append("</td>"); 
    } 
    sb.append("</tr>"); 
} 
sb.append("</table></html>"); 
JOptionPane.showMessageDialog(null, sb.toString()); 
+0

我跟你提供了什麼瞎搞。編譯時是否有說明它無法找到符號sb.toString的原因? – Chris 2013-04-05 00:47:36

+0

對不起,錯過'()' - 'toString'是一種方法:P - 我已經更新了答案 – MadProgrammer 2013-04-05 00:48:18