gpt4 book ai didi

java - 无法打印到同一行

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:53:22 27 4
gpt4 key购买 nike

我正在尝试编写一个代码,您可以在控制台中输入一个整数,然后您输入的整数会显示得更大,由字母组成(如 ascii 艺术)。

假设输入是 112。然后输出将是

   #       #     #####  
## ## # #
# # # # #
# # #####
# # #
# # #
##### ##### #######

我的代码会有相同的输出,只是不在同一行:(

它会在另一个数字下打印一个数字。从我的代码中您可以看出原因:

import java.util.Scanner;
public class Tester {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
String any = input.nextLine();
String[] sArray = any.split("");

for(int i=0; i<sArray.length; i++){
if(sArray[i].equals("1")){
System.out.println(" # ");
System.out.println(" ## ");
System.out.println("# # ");
System.out.println(" # ");
System.out.println(" # ");
System.out.println(" # ");
System.out.println("#####");
}
if(sArray[i].equals("2")){
System.out.println(" ##### ");
System.out.println("# #");
System.out.println(" #");
System.out.println(" ##### ");
System.out.println("# ");
System.out.println("# ");
System.out.println("#######");
}
}
}
}

我不知何故必须一次打印所有内容,而不是使用 println 作为我的代码的单个输出。也许有一种简单的方法可以解决这个问题,最好不要更改我的整个代码?我可以想象它也可以用二维数组来完成,但不确定。提示也非常受欢迎。这不是作业。

最佳答案

脏但有效:

private static final Map<Integer, String[]> art = new HashMap<Integer, String[]>() {{
put(1, new String[] {
" # ",
" ## ",
" # # ",
" # ",
" # ",
" # ",
" ##### " });
put(2, new String[] {
" ##### ",
"# #",
" #",
" ##### ",
"# ",
"# ",
"#######" });
}};

public static void main(String[] args) {
int[] input = { 1, 1, 2 };
for (int row = 0; row < 7; row++) {
for (int num : input) {
System.out.print(art.get(num)[row] + " ");
}
System.out.println();
}
}

我跳过了扫描代码并假设输入的是 1 1 2

输出

   #       #     #####  
## ## # #
# # # # #
# # #####
# # #
# # #
##### ##### #######

关于java - 无法打印到同一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43366224/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com