whileループに問題があります。 2つの入力変数を持つダイヤモンドを印刷するタスクがあります。 1)行数/中間の最大文字数を表す整数2)印刷する文字: 擬似コード: 7 = int $ = char プログラムで印刷する必要があります(左側のスペースを考慮してください)。 http://pastebin.com/cspgz3bAダイヤモンドを描画しているwhileループ
私のwhileループは混乱しているようです。今、彼らは(*スペースをシミュレート)印刷されています http://pastebin.com/cspgz3bA
私は2つの三角形(上&下)にダイヤモンドを分離することは、これを取り組むの最も簡単な方法であることをことを発見した、しかし、私のコードは、完全なゴミのようです...
EDIT ::これは三角形の上半分のため、(行/ 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("");
}
これは第1回目の反復ではなぜ機能するのですか?
ありがとうございました!
より完全なコードを投稿してください。入力/出力?理想的には、SSCCEを投稿してください。http://sscce.org –
申し訳ありませんが、私はそれをしていたはずです - jpmは私がそれなしで探していた答えを得ました:) – Numpty