• ベストアンサー

fizzbuzzがうまくいきません

fizzbuzzがうまくいきません https://codepen.io/anon/pen/mWbvbp?editors=1112 fizzbuzzだけになってしまいます。 つまりあまりが両方ともすっと0になっているようですが、 なぜ1づつ増えて行っていないのでしょうか? インスペクタで見ると3fizと5fizは0になっています。 始めは0割る3はあまりが0なので初めのあまりは0だからでしょうか? するとループ処理の結果どうなっているかというのはインスペクタで見ることはできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

division3Fizとdivision5Fizの変数宣言時にiFizを除算していますが、この時iFizインクリメントされていないので、常に0になります。 除算をループ内のiFiz++;のあとに持ってくるといいでしょう。

noname#226032
質問者

お礼

ありがとうございます。確かに外で計算してしまうと、ループ処理でインクリメントをしても適応されないので、始めにiFiz(0) % 3;実行された後計算が実行されないので、ずっと0割る3と5が100回繰り返され、 すべて余りが0なのでfizzbuzzしか出なかったという事ですね。 while (iFiz < 100) { iFiz++; let division3Fiz = iFiz % 3; let division5Fiz = iFiz % 5; if(division3Fiz == 0 && division5Fiz == 0) { console.log('FizzBuzz'); continue; } else if (division3Fiz == 0) { console.log('Fizz'); continue; } else if (division5Fiz == 0) { console.log('Buzz'); continue; } console.log('iFiz'); } ただ上記のようにしても、最後のconsole.log('iFiz');が実行されていないのか数値が一切出ません

すると、全ての回答が全文表示されます。

関連するQ&A