• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:このプログラミング問題の解答で何が足りないのか教えてください。)

整数の計算結果が表示されない原因は?

このQ&Aのポイント
  • 質問文章によると、整数の計算結果が表示されない問題が発生しています。
  • コードを見ると、bやdが0の場合に再度入力を促すような処理があります。
  • しかし、5や6、7、8を入力すると結果が表示されないようです。

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

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

条件分岐がいくつかありますが、その中でSystem.out.printがないのは"if((a*d+c*b)/(b*d)>1)"が偽になった場合だけです。 a=2, b=3, c=4, d=5を上記の式に代入するとどうなるか考えてみましょう。 a*d+c*b=22, b*d=15なので、(22/15 > 1)が真になりそうですが、ここに落とし穴があります。int型で演算すると22/15の結果は1なので、(1 > 1)は偽になってしまうのです。 帯分数の整数部分が2以上の場合 (27/11など) にはint型で演算しても意図通り条件式が真になります。

gumgumgum
質問者

お礼

なるほど!!! ではif((a*d+c*b)/(b*d)>=1)にすればできるんですね!! 本当落とし穴です・・・気付かなかったです。 わかりやすいご回答本当ありがとうございました!!やってみます!

関連するQ&A