java中不常见字符的对齐

java中不常见字符的对齐,java,unicode,character,Java,Unicode,Character,我正在用Java做一个国际象棋游戏,我想打印棋盘,上面有现有的数字。但问题是“空格键”字符比国际象棋数字字符短。我想知道是否有一种方法使它们匹配。或者如果我能得到一个图形的宽度,并打印一个相同宽度的空间 我注意到,图形字符后面的“空格键”字符似乎比通常的字符小。尽管如此,我还是无法将它们对齐 注意:我在将它们与控制台字体14+对齐时遇到问题,如果是12或更少,我可以将它们对齐得很好。问题是象棋的数字太小了,有些数字无法区分是白的还是黑的 编辑: System.out.print(“”); 对于(

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

我注意到,图形字符后面的“空格键”字符似乎比通常的字符小。尽管如此,我还是无法将它们对齐

注意:我在将它们与控制台字体14+对齐时遇到问题,如果是12或更少,我可以将它们对齐得很好。问题是象棋的数字太小了,有些数字无法区分是白的还是黑的

编辑:

System.out.print(“”);
对于(int i=0;i<8;i++){
系统输出打印(“+i+”);
}
System.out.println();
对于(int i=0;i<8;i++){
系统输出打印(“”);
对于(int j=0;j<7;j++){
系统输出打印(“----”);
}
System.out.println();
系统输出打印(“+i+”);
对于(int j=0;j<8;j++){
如果(板[i][j]==null){
系统输出打印(“|”);
}否则{
System.out.print(“|”+板[i][j].getSymbol()+”);
}
}
System.out.println(“|”+i);
}
系统输出打印(“”);
对于(int j=0;j<7;j++){
系统输出打印(“----”);
}
System.out.println();
系统输出打印(“”);
对于(int i=0;i<8;i++){
系统输出打印(“+i+”);
}
System.out.println(“\n”);
这是我当前使用的代码。

您需要使用

如果在终端中或使用IDE显示输出,默认情况下应为monospace。如果不是,请更改它(请参见设置选项)


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

我仍然无法将它们对齐,我用我正在使用的代码编辑了文章,尽管我不知道它是否有用,因为如果电路板没有初始化和填充figures@ElliottFrisch无中断空格和常规空格之间有什么区别?这取决于所使用的图示符。它应该不会有什么不同,但我以前见过它。它使用system.out.print(),所以它不在图形应用程序上。在这种情况下,在终端或IDE设置中搜索。你用什么?
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");