格式化文本输出Java SE [英] Formatting Text Output Java SE
问题描述
我正在尝试从Java中的 System.out.println 打印一些ASCII艺术作品.当我这样做时,尽管源代码中的所有空格都消失了.打印出来的是一堆废话,没有任何意义.图1显示了源代码的外观以及ASCII图片的外观.图2显示了该程序运行时横幅的实际外观.
I am trying to print some ASCII art from a System.out.println in Java. When I do this though all the spacing in place in the source code goes away. What is printed out is a mess of nonsense that does not make any sense. Figure 1 shows what the source code looks like and what the ASCII art should look like. Figure 2 shows what the banner actually looks like when the program is run.
我的问题是如何按预期方式打印ASCII艺术作品?如何打印具有可读性的格式的ASCII图片?
My question is how can I print the ASCII art as expected? How can I print the ASCII art with the formatting that makes the banner readable?
例如,对于Python,我可以使用三引号轻松完成这项工作.Java是否具有类似的文本机制?
For instance with Python I could easily have this work by using triple quotes. Does Java have a similar text mechanism?
图1 :ASCII图片应该是什么样子
Figure 1: What the ASCII art should look like
图2 :程序运行时ASCII外观是什么
Figure 2: What the ASCII art looks like when the program is run
请查看我的源代码,如下所示:
Please see my source code as follows:
package Boring;
import java.util.Scanner;
public class EnchantedBoringLevel {
public EnchantedBoringLevel () {
System.out.println("\n\n\n\n\n\n\n\n\n\n\n");
/* System.out.println("\n" +
"EEEE h t d BBBB FFFF t " +
"E h t d B B ii F t " +
"EEE nnn ccc hhh aa nnn ttt eee ddd BBBB ooo rrr nnn ggg FFF ooo rrr eee ss ttt " +
"E n n c h h a a n n t e e d d B B o o r ii n n g g F o o r e e s t " +
"EEEE n n ccc h h aaa n n tt ee ddd BBBB ooo r ii n n ggg F ooo r ee ss tt " +
" g " +
" ggg "
);
*/
System.out.println("***Enchanted Boring Forest***");
System.out.println("Welcome to another boring level of this video game!\n\n\n\n");
this.enchant();
}
public void enchant() {
System.out.println("You find yourself in a magical forest all alone.\nYou hear music in the distance.\n" +
"An elf appears and takes you to their tree house mansion.");
System.out.print("The elf prince offers you three choices 1) invisible ring, 2) galactic sunglasses, 3) a map of the enchanted forest. Which do you choose?");
Scanner enchanted_choice = new Scanner(System.in);
String choice;
choice = enchanted_choice.next();
switch(new Integer(choice)) {
case 1:
System.out.println("You chose the invisible ring");
new BoringInvisibleRing();
break;
case 2:
System.out.println("You chose the galactic sunglasses");
new BoringGalacticSunglasses();
break;
case 3:
System.out.println("You chose the map of the enchanted forest");
break;
default:
System.out.println("You shot yourself in the face.");
}
}
}
推荐答案
控制台会包装您的文本.在控制台设置中设置较高的列号
Console wraps your text. Set heigher column number in console settings
这篇关于格式化文本输出Java SE的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!