如何使用Java格式化打印此ASCII卡

时间:2015-02-25 11:39:49

标签: java user-interface printing ascii blackjack

我是java新手,现在我正在制作黑杰克游戏。我想尽可能地模仿真实的游戏,而不是打印数字和字母,因此我在wordpad中制作了一个小的ASCII卡。问题是,当我尝试打印它时,它不适合“”,但它不起作用。

正如我所说,我是Java新手。有人可以帮帮我吗?谢谢。

这是我要打印的卡片:

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

这就是我的尝试:

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

2 个答案:

答案 0 :(得分: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 :(得分:1)

你可以这样做:

    String test
     =   ".-------."+ "\n"+
         "| ** ** |"+ "\n"+
         "|*  *  *|"+ "\n"+ 
         "| *   * |"+ "\n"+ 
         "|   *   |"+ "\n"+ 
         "|   J   |"+ "\n"+ 
         "'-------'";