#unicode #draw #space #face #card
#юникод #рисовать #Космос #Лицо #карта
Вопрос:
привет, у меня большие проблемы с моими методами. Я написал эти методы для рисования карты, но в соответствии с тем, что у меня есть юникод для лицевых сторон карт, он не будет работать правильно. из-за этой проблемы, из-за того, что требуемое пространство для этих юникодов больше, чем пробел, оно печатается неправильно. Кто-нибудь знает, как я могу справиться с этой проблемой? пожалуйста, помогите мне с этой проблемой.
Первый метод предназначен для лицевой стороны карты, а второй — для совместного создания нескольких карт.
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;
}
Вывод:
Вывод
Комментарии:
1. Если вы используете шрифт true-monospace И у вас хороший эмулятор терминала, у вас должен быть правильный результат. Известно, что оба часто выходят из строя с Юникодом. Поэтому проверьте лучший шрифт и лучший терминал или используйте другие методы
Ответ №1:
Я пробую много способов и выясняю, что эта проблема вызвана предварительно установленным шрифтом IntelliJ IDEA. чтобы решить эту проблему, необходимо перейти к: Файл -> Настройки -> Редактор -> Общие -> Шрифт -> Шрифт, изменив шрифт с JetBrains Mono на Consolas, эта проблема будет решена.