2015-02-25 2 views
0

Я новичок в java, и сейчас я делаю игру с черным джеком. Я хочу как можно больше подражать реальной игре, а не печатать цифры и буквы, поэтому я сделал небольшую ASCII-карту в WordPad. Проблема в том, что она не помещается внутри «», когда я пытаюсь ее распечатать, и она не работает.Как распечатать эту ASCII-карту в Java, отформатирован

Как я уже сказал, я новичок в Java. Может кто-нибудь, пожалуйста, помогите мне? Спасибо.

Вот карта, которую я хочу, чтобы распечатать:

.-------. 
| ** ** | 
|* * *| 
| * * | 
| * | 
| J | 
'-------' 

Это то, что я пробовал:

String test 
= ".-------. 
    | ** ** | 
    |* * *| 
    | * * | 
    | * | 
    | J | 
    '-------'" 
+1

Если вы начинаете с символа '' '' и вставляете в строку текст, который вы хотите в своей IDE, он переводит его в комбинацию '\ n' и' '' yo тебе нужно. Одна строка не может быть определена в нескольких строках. –

ответ

1

Вы можете использовать StringBuilder так:

StringBuilder sb = new StringBuilder(); 
sb.append(".-------.").append(System.lineSeparator()); //System.lineSeparator() gets us the new line character which is used by the underlying OS. 
sb.append("| ** ** |").append(System.lineSeparator()); 
sb.append("|* * *|").append(System.lineSeparator()); 
sb.append("| * * |").append(System.lineSeparator()); 
... 

Затем вы печатаете его так: System.out.println(sb.toString());.

Строго говоря, вы могли бы сделать это с помощью конкатенации строк:.

String str = ".-------." + System.lineSeparator() + ... 

Однако конкатенаций длинных строк, как правило, считаются плохой практикой, которая когда StringBuilder приходит в

1

вы можете сделать, как это :

String test 
    = ".-------."+ "\n"+ 
     "| ** ** |"+ "\n"+ 
     "|* * *|"+ "\n"+ 
     "| * * |"+ "\n"+ 
     "| * |"+ "\n"+ 
     "| J |"+ "\n"+ 
     "'-------'"; 
Смежные вопросы