问题描述
你好,我的方法有很大问题。我编写了这些方法来绘制卡片,但由于我有卡片表面的 unicode,它无法正常工作。由于这个问题,这些 unicode 所需的空间不仅仅是一个空白,它会打印错误。有没有人知道我该如何处理这个问题?请帮我解决这个问题。
public String[] card(){
String[] card = new String[9];
card[0] = ("┌───────────┐");
card[1] = ( getNumber() < 10 ? "│ " + getNumber() +
" │" : "│"+( getNumber() == 10 ? "10" : getNumber() == 11 ? " J" : getNumber() == 12 ? "
Q" : " K")+" │");
card[2] = ("│ │") ;
card[3] = ("│ │");
card[4] = ("│─────"+ getFace() + "─────│") ;
card[5] = ("│ │") ;
card[6] = ("│ │") ;
card[7] =(getNumber() < 10 ? "│ " + getNumber() +
" │" : "│ "+( getNumber() == 10 ? "10" : getNumber() == 11 ? "J " : getNumber() == 12 ?
"Q " : "K ")+"│");
card[8] = ("└───────────┘");
return (card);
}
public static String renderCard(List<String[]> cards) {
String[] lines = new String[9];
String output = "";
for (int i = 0; i < 9; i++) {
for (String[] array : cards) {
lines[i] = (lines[i]==null ? "" : lines[i]) + " " + array[i];
}
}
for(String line : lines){
output += (line + "\n");
}
return output;
}
解决方法
我尝试了很多方法,发现这个问题是由 IntelliJ IDEA 预装字体引起的。要解决这个问题必须去: 文件 -> 设置 -> 编辑器 -> 常规 -> 字体 -> 字体 通过将字体从 JetBrains Mono 更改为 Consolas,这个问题将得到解决。