黑马程序员技术交流社区
标题:
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?
[打印本页]
作者:
doglovely
时间:
2016-3-7 22:21
标题:
28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?
思路:3个可乐瓶盖可以换一瓶可乐,相当于买两瓶可乐,借一瓶可乐,瞅成三瓶可乐再还回去一瓶,相当于两瓶可乐可够3 *个人和。x人就需要x*2/3瓶可乐。如果x/3有余则向上取整。
public static void main(String[] args) {
coco(4);
}
public static double coco(int person){
int num = person*2;
double cola = num/3;
double cocoMany=Math.ceil(cola);
System.out.println(person+"人需要买"+cocoMany+"瓶可乐");
return cocoMany;
}
为什么这样写为什么不对,ceil不是向上取整的吗?4个人需要3瓶为什么打印出来的是两瓶
作者:
BlackFlag
时间:
2016-3-8 00:20
因为4*2=8 ,8/3=2, 把int类型的2赋给double类型,会转换为2.0,2.0向上取整是2;你把 double cola = num/3改成double cola = num/3.0就行了
作者:
doglovely
时间:
2016-3-8 14:21
试了下,对了!!
作者:
小笨笨SHP
时间:
2016-3-8 20:31
因为4*2=8 ,8/3=2, 把int类型的2赋给double类型,会转换为2.0,2.0向上取整是2;你把 double cola = num/3改成double cola = num/3.0就行了
作者:
doglovely
时间:
2016-3-8 21:03
还有别的做法吗?感觉我写的太简单了?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2