理由はわかりませんが、パラメーターを小数から分数に変更すると、2 つの異なる結果が得られます。
これらのメソッドは正確な値を返します。たとえば、小数の場合は数値を切り上げようとしています。
0.0 -> 0
0.1 -> 1
0.4 -> 1
0.5 -> 1
0.6 -> 1
1.0 -> 1
1.1 -> 2
// accepts Double
private void myRound(Double d){
int res = (int)Math.ceil(d);
return (res <= 0 ? 1 : res);
}
// acepts int
private void myRound(int i){
int res = (int)Math.ceil(i);
return (res <= 0 ? 1 : res);
}
例:
System.out.println(myRound(14 / 10));
出力: 1
System.out.println(myRound(1.4);
出力: 2