Как обрабатывать печать в юникоде, требующую места в java

#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, эта проблема будет решена.