while ループに問題があります。2 つの入力変数を使用してひし形を出力するタスクがあります: 1) 行数/中央の文字の最大数を表す整数 2) 出力する文字: 擬似コード: 7 = int $ = char プログラムは出力する必要があります (左側のスペースを考慮してください): http://pastebin.com/cspgz3bA
私のwhileループは混乱しているようです。現在、印刷中です (* スペースをシミュレートします): http://pastebin.com/cspgz3bA
ひし形を 2 つの三角形 (上と下) に分割するのが最も簡単な方法であることがわかりましたが、私のコードは完全にゴミのようです...
編集:: これは三角形の上半分のみを対象としているため、(rows/2)+1 - 中央の行を終了した後に停止することを意味します。
rows = integerInput;
maxSpace = integerInput;
while (currentRow <=((rows/2)+1)) {
spaceReq = ((maxSpace -1)/2); // determines spaces required
while (spaces < spaceReq) {
System.out.print("*");
spaces++;
}
while (charPrinted < charReq){
System.out.print(charInput);
charPrinted++;
}
currentRow++;
maxSpace--;
charReq = charReq +2;
System.out.println("");
}
これが最初の反復で機能する理由を誰かが指摘できますが、次の反復で壊れますか?
ありがとうございました!