我一直在尝试打印一个只包含java中小写字母的char矩阵。起初我在矩阵条目中定义了一个String,然后使用JOptionPane来打印它,但显然由于字母的间距不同,列没有对齐,所以它看起来很糟糕。代码如下:
String wordSearch = "";
for(int i = 0; i < 20; i++){
for(int j = 0; j < 20; j++){
wordSearch = wordSearch + matrix[i][j] +"\t";
}
wordSearch = wordSearch + "\n";
}
JOptionPane.showMessageDialog(null, wordSearch);
然后我尝试使用System.out打印矩阵,如下所示
for(int i = 0; i < 20; i++){
for(int j = 0; j < 20; j++){
System.out.print(matrix[i][j] +" ");
}
System.out.println();
}
并且输出看起来很完美,列完全匹配。
所以我的问题是如何使用JOptionPane或类似的方法获得相同的结果?当我在控制台中打印输出时,为什么输出会有所不同?
非常感谢您的帮助。
答案 0 :(得分:1)
这应该有效:
javax.swing.UIManager.put("OptionPane.font", new Font("Courier", Font.PLAIN, 16));
final StringBuilder wordSearch = new StringBuilder();
for (int i = 0; i < 20; i++){
for (int j = 0; j < 20; j++){
wordSearch.append(matrix[i][j]).append('\t');
}
wordSearch.append('\n');
}
JOptionPane.showMessageDialog(null, wordSearch.toString());
(未经测试)