我正在嘗試創建交替「*」和「o」字符的三角形金字塔,其行數基於用戶輸入。預期結果我想實現的,如果用戶輸入「6」的行數,方法是:Java - 如何創建交替的三角形金字塔?
*
*o*
*o*o*
*o*o*o*
*o*o*o*o*
*o*o*o*o*o*
我寫來實現此功能的代碼是:
String star = "*";
String circle = "o";
System.out.println("Please enter number of rows: ");
int rows = in.nextInt();
for (int i = 0; i < rows; i++){
for (int j = 0; j < rows-i; j++){
System.out.print(star);
}
for (int k = 0; k <= i; k++){
System.out.print(circle);
}
System.out.println();
}
然而,我的代碼的輸出與上面的金字塔不匹配。我的代碼輸出,與「6」的用戶輸入,方法是:
******o
*****oo
****ooo
***oooo
**ooooo
*oooooo
花前3個小時煮兩本網站和其他人,我還是來了丟失如何交替的字符後,如何在每一行中使用正確數量的字符,以及如何將金字塔格式化爲預期的輸出。我不知道如果我的代碼是完全錯誤的,或者如果我只是錯過了一部分,使其正常工作,但任何意見或引用非常感謝。
您是否已經檢查了[爲循環創建三角形](http://stackoverflow.com/questions/11409621/creating-a-triangle-with-for-loops)? –