2 つの数値の平均を取得するプログラムを作成しています。テスト ケースの場合、2, 4
出力は ではあり3
ません3.0
。テスト ケースの場合、-1282660896, -672813783
出力は ではあり-977737339.5
ません-9.777373395E8
。
私のコードは次のようなものです:
public static void getAve(long a, long b){
System.out.println((double)(a + b) / 2);
}
次のように、必要に応じてフォーマット関数も作成しました。
public static String fmt(double d) {
if (d == (long) d)
return String.format("%d", (long) d);
else
return String.format("%s", d);
}
しかし、これはテストケース2でも失敗します