• ベストアンサー

fizzbuzzがうまくいきません

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

noname#226032
noname#226032

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

  • ベストアンサー
回答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

  • JSがうまくいかない

    クリックするたびにポイントが10加算されるようにしたかったのですが、なぜかクリックするとNANになってしまいます。 codepen上ではうまく再現できていないですが、ソースを張っておきました。 https://codepen.io/anon/pen/oWbvEe?editors=0001 またインスペクタで確認してNanだったのですが、codepenはインスペクタのようにソースを見る機能はないのですか?

  • スタックオーバーフローとでてきて、ちゃんと動きませ

    https://okwave.jp/qa/q9340961.html の続き ncaught RangeError: Maximum call stack size exceeded 変更後によってブラウザはフリーズしなくなりましたが、まだスタックオーバーフローとでてきて、ちゃんと動きません。 forをなくしてもまだループ処理によって問題が起きているのでしょうか? https://codepen.io/anon/pen/zzqjKg

  • チェックボックスがすべてfalseになる

    チェックボックスがチェックされているか否かによって 処理をかえたいのですが なぜかチェックをしていてもすべてfalseになってしまいます。 これはチェックしていればtrue、していなければfalseになるはずなんですよね? 一部抜粋しました。 https://codepen.io/anon/pen/jmoLmQ

  • disabledプロパティが存在しないと出てきます

    disabledプロパティが存在しないと出てきます。 下記の部分です・ if(hintBtn.disabled === 'disabled') もう少し全体像は下記です。 https://codepen.io/anon/pen/wjbebe 仕様上disabledプロパティは、初めは存在しないのでしょうか?

  • 表記する処理の後に消す処理を繰り返したい

    テキストのみのスライドショーを作りたいのですが、setinterval2秒後に隠していたテキストをふわっと出してそのさらに二秒後に消して、それと同時に次のテキストを出すというようにしたいです。 始めテキストをすべてhiddenで消しておいて、二秒後にvisibleで上書きして表記するというのはわかるのですが、その後さらに二秒後に消す方法がわかりません。 合計で4秒になるので4秒後に消すsetintervalを下記の下に作成しそこで同じようにループ処理を記載してhiddenで上書きすればよいのでしょうか? https://codepen.io/anon/pen/WOroYo setInterval( function () { 表記する処理 }, 2000); が終わったら次の setInterval( function () { 消す処理 }, 2000); を実行とする方法はあるのでしょうか?

  • 二度実行するのを防止したい。

    クイズゲームの判定で、複数入力された回答の一つでも正解があれば正解とするようにしたのですが、正解の処理を一度しても処理が終わらずに二度点数が入ってしまうので一度でも正解になったらそこで処理を止めたいのですがexitを入れた所今度はうまく動かなくなりました。 この方法は間違えないのでしょうか? https://codepen.io/anon/pen/bKoObo

  • 全角を半角に変換するがうまくいかない

    https://webllica.com/change-double-byte-to-half-width/ を使って全角の数値や英数で回答されても 半角に変換して正解にするクイズを作りたいのですが、全角を入れると偽のほうが実行されてしまいます。 https://codepen.io/anon/pen/gKmgNQ インスペクタで確認したところ、全角の1を入力すると半角の1に変換されるように見えるのになぜでしょうか? まさか文字列と数値の問題かと思い==と二つにしても変わりません。

  • 全角を半角に変換するがうまくいかない

    https://webllica.com/change-double-byte-to-half-width/ を使って全角の数値や英数で回答されても 半角に変換して正解にするクイズを作りたいのですが、全角を入れると偽のほうが実行されてしまいます。 https://codepen.io/anon/pen/gKmgNQ インスペクタで確認したところ、全角の1を入力すると半角の1に変換されるように見えるのになぜでしょうか? まさか文字列と数値の問題かと思い==と二つにしても変わりません。

  • .styleがうまくいきません。

    .styleがうまくいきません。 var debu = mathGetClass.style.position = 'fixed'; mathGetClass.style.position = 'top mathRandom + px'; mathGetClass.style.position = 'left mathRandom + px'; console.log(debu); としてもdebuの中身がfixedになってしまいます。 また、複数のCSSを一括指定したい場合は、 連想配列を使うのでしょうか? https://codepen.io/anon/pen/QpKzPR?editors=1111

  • 繰り返し処理をして、要素がいくつあっても、うまくい

    while文で繰り返し処理をして、要素がいくつあっても、うまくいくようにしたいのですが、var inputResultをカプセル化できないのでこのような場合どうすればいいのでしょうか? https://codepen.io/anon/pen/XqOWrQ document.querySelectorAll('.js-myBtn').addEventListener と変更したのですが、このボタンの一つ目を押したら一つ目として実行二つ目以降も同様にとなりません。 イベントを起こすトリガーの要素を配列で指定はできないのでしょうか?

専門家に質問してみよう