我正在尝试从Java中的System.out.println打印一些ASCII艺术作品.当我这样做时,尽管源代码中所有的空格都消失了.打印出来的是一堆毫无意义的废话.图1显示了源代码的外观以及ASCII图片的外观.图2显示了程序运行时横幅的实际外观.
我的问题是如何按预期方式打印ASCII艺术作品?如何以使横幅易于阅读的格式打印ASCII艺术作品?
例如,使用Python,我可以通过使用三引号轻松地完成这项工作. Java是否具有类似的文本机制?
图1:ASCII外观应该是什么样
图2:程序运行时的ASCII外观
请查看我的源代码,如下所示:
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.");
}
}
}
解决方法:
控制台会包装您的文本.在控制台设置中设置高列号
标签:java
来源: https://codeday.me/bug/20191011/1893836.html