好吧我很累這個掙扎着,蝙蝠我感覺真的很愚蠢,所以請溫柔..我已經搜索了堆棧溢出和網絡,仍然沒有找到任何東西。我正在使用嵌套循環創建一個如下所示的三角形:java三角形左側的嵌套循環邏輯
1
1 2 1
1 2 4 2 1
1 2 4 8 4 2 1
...等等。通過128中心列。
我的左側循環呈現在我的三角形的右側,而不是左側。我很確定,在我收到答覆後,我會用手掌敲我的頭,然後反覆地說。無論如何感謝您的幫助。我特別想要解釋一下邏輯。這是代碼。
public class Pyramid_center_x2_0519 {
public static void main(String[] args) {
for (int centerColumn = 1; centerColumn <= 128; centerColumn *=2){
for (int j = 8; j > 1; j--) {
System.out.printf("%7s", "");
}
for (int rightSide = centerColumn; rightSide > 0; rightSide/=2){
System.out.printf("%7d", rightSide);
}
for (int leftSide = 2; leftSide < centerColumn; leftSide*=2){
System.out.print(leftSide);
}
System.out.println("");
}
}
}
謝謝.......
更新的代碼下午12點5-31-16:我理解Java打印從左到右。下面我把左邊的循環放在右邊的循環之前,但是我在三角形前面的間距不起作用。謝謝大家......再次
for (int centerColumn = 1; centerColumn <= 128; centerColumn *=2){
for (int j = 8; j > 0; j--) {
System.out.printf("%7s", "");
}
for (int leftSide = 1; leftSide < centerColumn; leftSide*=2){
System.out.print(leftSide);
}
for (int rightSide = centerColumn; rightSide > 0; rightSide/=2){
System.out.printf("%7d", rightSide);
}
System.out.println("");
}
}
}
你正在嘗試簡單地做不起作用。您無法打印「向左」。 printf只是繼續寫作的方向寫作。 –
您必須更改您的algorythm並實際按您希望顯示的順序編寫數字。這個邏輯不應該那麼難。 –