public static void main (String[] args) {
double a = Math.ceil(160/60)*60;
System.out.println(a);
}
,它给出的输出是120.0;而不是180。
测试代码究竟出了什么问题才能产生120而不是180? 我错误地使用了ceil()吗?
答案 0 :(得分:1)
您正在使用整数除法,这将产生一个整数。正如其他人所指出的那样:160/60会返回2,而不是2,66,你希望将其归结为3。
Go this URL and you will find the solution here.
答案 1 :(得分:0)
由于您的输入是整数,输出也是整数, 实现自己的天花板功能会更清晰:
int ceil(int num, int mod) {
int remainder = num % mod;
if (remainder < mod / 2) {
return num - remainder;
}
return num - remainder + mod;
}
例如,这将给出: