私は奇妙な問題を抱えています。
このコードは単に int を別の int で除算し、結果を double 変数に格納して出力します。
int a = 200;
int b = 557;
double divisionResult = a / b;
System.out.println("Result: " + divisionResult);
このコードを実行すると、出力は次のようになります。
Result: 0
これは奇妙200/557
です。0.3590664272890485
分割線にキャストa
してb
toすると気がついたdouble
double divisionResult = (double) a / (double) b;
それは完全に機能します。
実際の除算結果を得るために変数を double にキャストする必要があるのはなぜですか?