回答編集履歴
2
小数リテラルはdoubleだった
test
CHANGED
@@ -34,5 +34,5 @@
|
|
34
34
|
|
35
35
|
また、回答として(2.0 / 3.0)にしているのにも意味があります。
|
36
36
|
Javaでは(2 / 3)としてしまうと、 intとintの割り算と判断されてしまうので計算結果もintということになり、小数点以下は切り捨てられてしまいます。
|
37
|
-
なので、(2.0 / 3.0)とすることで 小数点が扱える
|
37
|
+
なので、(2.0 / 3.0)とすることで 小数点が扱えるdoubleとdoubleの割り算で、計算結果もdoubleだとJavaに伝えることができます。
|
38
38
|
|
1
わかりやすく修正
test
CHANGED
@@ -30,9 +30,9 @@
|
|
30
30
|
|
31
31
|
でいかがでしょう?
|
32
32
|
お察しの通り、9行目、出席日数の判定の箇所が間違っています。
|
33
|
+
0.3 * 2 は = 0.6、つまり5分の3なので条件である3分の2とは一致しません。
|
33
34
|
|
34
|
-
0.3 * 2 は = 0.6、つまり5分の3なので条件である3分の2とは一致しません。
|
35
35
|
また、回答として(2.0 / 3.0)にしているのにも意味があります。
|
36
|
-
Javaでは(2 / 3)としてしまうと、 intとintの割り算と判断されてしまうので小数点以下は切り捨てられてしまいます。
|
36
|
+
Javaでは(2 / 3)としてしまうと、 intとintの割り算と判断されてしまうので計算結果もintということになり、小数点以下は切り捨てられてしまいます。
|
37
|
-
なので、(2.0 / 3.0)とすることで 小数点が扱えるfloatとfloatの割り算だとJavaに伝えることができます。
|
37
|
+
なので、(2.0 / 3.0)とすることで 小数点が扱えるfloatとfloatの割り算で、計算結果もfloatだとJavaに伝えることができます。
|
38
38
|
|