首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java中打印字符矩阵,使列对齐?

如何在Java中打印字符矩阵,使列对齐?
EN

Stack Overflow用户
提问于 2013-06-24 13:37:08
回答 1查看 937关注 0票数 0

我一直在尝试用java打印一个只包含小写字母的char矩阵。起初,我从矩阵条目中定义了一个字符串,然后使用JOptionPane打印它,但显然是因为字母的间距不同,列没有对齐,所以看起来很糟糕。代码如下:

代码语言:javascript
复制
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打印矩阵,如下所示

代码语言:javascript
复制
  for(int i = 0; i < 20; i++){
    for(int j = 0; j < 20; j++){
      System.out.print(matrix[i][j] +"   ");
    }
  System.out.println();
  }

输出看起来很完美,列排列得很好。

所以我的问题是,我如何使用JOptionPane或类似的东西来实现相同的结果?为什么我在控制台中打印输出时,输出看起来不一样?

非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2013-06-24 13:47:46

这应该是可行的:

代码语言:javascript
复制
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());

(未测试)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17268618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档