本文介紹了如何以表格的形式輸出ASCII星圖?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我需要有關代碼問題的幫助。我必須編寫一個以表格格式顯示星形圖案的程序。
我并不是在尋找確切的代碼,我想自己弄清楚,所以任何建議和提示都會有很大幫助。
// Pattern A Loop
for (int PatternA = 0; PatternA <= 9; PatternA++) { // outerLoop Pattern A
for (int PatternAI = 0; PatternAI <= PatternA; PatternAI++) { // Inner Loop
System.out.print("+");
}
System.out.println();
}
// Pattern B Loop
for (int PatternB = 0; PatternB <= 10; PatternB++) { // outer loop Pattern B
for (int PatternBI = 9; PatternBI >= PatternB; PatternBI--) { //Inner Loop
System.out.print("+");
}
System.out.println();
}
推薦答案
既然您說您不需要完整的解決方案,下面是一些提示。
首先,由于您的表格必須將PatternAI
和PatternBI
中的材料打印在同一行上,因此您應該將這些循環一起移動。這將涉及到使外部循環對兩者都起作用。您可以在for
循環中使用多個變量:
for (int i = 0, j = 0; i < 10 && j < 2; i++, j++)
您還需要一些方法來分隔這些模式。您可以使用空格,但它們的數量會有所不同(實際上與+
相同,因此您可以使用空格)。制表符也可以使用,而且更簡單一些。但是,當行達到一定長度時,您必須在使用的制表符數量之間進行切換。
這就是問題的全部。請讓我知道我的提示是否有用,或者是否有更好的方式來表達它們。
這是完整的代碼,如果你卡住了:
// Pattern is used for both PatternA and PatternB in this outer loop
// Outer Loop
for (int Pattern = 0; Pattern <= 9; Pattern++) {
// Inner Loop PatternA
for (int PatternAI = 0; PatternAI <= Pattern; PatternAI++) {
System.out.print("+");
}
if (Pattern < 7)
System.out.print(" ");
else
System.out.print(" ");
// Inner Loop PatternB
for (int PatternBI = 9; PatternBI >= Pattern; PatternBI--) {
System.out.print("+");
}
System.out.println();
}
這篇關于如何以表格的形式輸出ASCII星圖?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,