増分演算子= ++ iはi = i +1の短縮形であることを知っています+1減算演算子の短縮形は - i(減分演算子はi = i -1)ですが、
です。 )。私の出力にアスタリスクが追加されています
この場合、numStarsに対して一定量のアスタリスクを印刷しようとしているため、増分演算子(i = i + 1)を使用しました。 numPrinted = numPrinted + 1をインクリメントするのに行った。ここでは、コードを簡単に一目で:
numStars = 12;
numPrinted = 1;
while (numPrinted < numStars) {
numStars = numStars * numPrinted;
numPrinted = numPrinted + 1; //Went for increment since I'm assuming
additional asterisks will be shown
System.out.print("*"); /* My output produces a total of 14 asterisks
whereas the expected output wants 12 asterisks */
}
見て予想される出力は12とnumStars = 12であることを既に、numPrintedは* numStarsの=のnumStarsを置くために私のことが必要でしたか?なぜなら、12アスタリスクではなく、出力にアスタリスクを2つ追加する理由があると思うからです。 numPrintedを増やすという私の決定のために、余分な2つのアスタリスクがそこにある場合を除きますか?
ご協力いただき、ありがとうございます。
いいえ、あなたは定数として 'numStars'を扱うべきである、と確かに 'numPrinted'でそれを掛けてはいけません。また、 'while'ループを' for'ループに変更する必要があります。 – Andreas
[デバッガとはどのようにして問題を診断するのに役立ちますか?](https://stackoverflow.com/q/25385173/5221149) – Andreas