【问题标题】:Aligning uncommon characters in java对齐java中的不常见字符
【发布时间】:2016-03-12 18:57:07
【问题描述】:

我正在用 Java 做一个国际象棋游戏,我想打印棋盘,上面有现有的数字。但是,问题在于“空格键”字符比国际象棋人物字符短。我想知道是否有办法将它们对齐以匹配。或者如果我可以得到一个图形的宽度并打印一个宽度相同的空间?

我注意到数字字符后面的“空格键”字符似乎比通常的要小。话虽如此,我无法将它们对齐。

注意:我在将它们与 14+ 的控制台字体对齐时遇到问题,对于 12 或更少,我可以设法将它们对齐得很好。问题是棋子太小了,有些分不清是白是黑。

编辑:

System.out.print("   ");
    for(int i = 0; i < 8; i++){
        System.out.print("   " + i + "  ");
    }
    System.out.println();
    for(int i = 0; i < 8; i++){
        System.out.print("   ");
        for(int j = 0; j < 7; j++){
            System.out.print("-------");
        }
        System.out.println();
        System.out.print(" " + i + " ");
        for(int j = 0; j < 8; j++){
            if(board[i][j] == null){
                System.out.print("|     ");
            } else { 
                System.out.print("|  " + board[i][j].getSymbol() + "   ");
            }
        }
        System.out.println("| " + i);
    }
    System.out.print("   ");
    for(int j = 0; j < 7; j++){
        System.out.print("-------");
    }
    System.out.println();
    System.out.print("   ");
    for(int i = 0; i < 8; i++){
        System.out.print("   " + i + "  ");
    }
    System.out.println("\n");

这是我目前使用的代码。

【问题讨论】:

  • 我仍然无法对齐它们,我用我正在使用的代码编辑了帖子,虽然我不知道它是否有用,因为没有板它不会工作初始化并填充数字
  • @ElliottFrisch 无间断空间和常规空间有什么区别?
  • 这取决于所使用的字形。它不应该有所作为,但我以前见过它有所作为。

标签: java unicode character


【解决方案1】:

您需要使用monospaced font

如果您在终端或使用 IDE 显示输出,则默认情况下应该是等宽的。如果不是,请更改它(请参阅设置选项)。

如果输出是在图形应用程序上,请尝试更改字体设置。

【讨论】:

  • 它使用 system.out.print(),所以它不在图形应用程序上
  • 在这种情况下,在您的终端或 IDE 设置中搜索。你用什么?
猜你喜欢
  • 2013-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多