我试图使用Math类的ceil()方法来输入一个double;初始化为0.4时,ceil()方法应该将cat键入1.0。然而,出于某种原因,我无法弄清楚,它无法正常工作。一些建议将不胜感激。
double num = 0.4;
System.out.println(num); // 0.4
Math.ceil(num);
System.out.println(num); // 0.4
答案 0 :(得分:2)
如果您查看Math.ceil的文档,您会看到它说:
返回最大(最接近负无穷大)double值,该值大于或等于参数且等于数学整数。
强调我的。它不会修改您传递的值(事实上,由于Java的工作方式,它不能)。相反,它返回新值。
要获得您期望的值,您应该将该值分配回变量num
。
double num = 0.4;
System.out.println(num); // 0.4
num = Math.ceil(num);
System.out.println(num); // 1.0
答案 1 :(得分:1)
你需要改变这个:
num = Math.ceil(num);
发生的事情是你没有将Math.ceil(num)的值赋给任何东西。
答案 2 :(得分:0)
您没有指定Math.ceil
的值。 num
的值保持不变。
要打印num
的上限,您可以将呼叫置于sys中,或者只是尝试以下代码:
double num = 0.4;
System.out.println(num); // 0.4
double ceiledNum=Math.ceil(num);
System.out.println(ceiledNum);