我試圖編寫一個代碼,您可以在控制檯中輸入一個整數,然後輸入的整數顯示爲較大,由字母組成(如ascii art)。無法打印到同一行
讓我們假設輸入是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
爲我的代碼單路輸出不.. 也許有解決的是,最好在不改變我的整個代碼一個簡單的方法呢?我能想象它可能是用2d數組完成,但不確定。提示也非常受歡迎。這不是功課。
'println'插入一個新行 - 'print'不行。但是你需要逐一打印這些行,即改變你的循環邏輯。 – assylias
@assylias我知道,但這怎麼能在這裏工作?如果我將println替換爲print,則輸出看起來更加糟糕:D – cnmesr
由於您正在垂直打印,但您想要水平打印,因此您的當前邏輯與要求相距甚遠。 –