A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

思路: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瓶为什么打印出来的是两瓶

4 个回复

倒序浏览
因为4*2=8  ,8/3=2, 把int类型的2赋给double类型,会转换为2.0,2.0向上取整是2;你把  double cola = num/3改成double cola = num/3.0就行了
回复 使用道具 举报 1 0
试了下,对了!!
回复 使用道具 举报

因为4*2=8  ,8/3=2, 把int类型的2赋给double类型,会转换为2.0,2.0向上取整是2;你把  double cola = num/3改成double cola = num/3.0就行了
回复 使用道具 举报 0 1
还有别的做法吗?感觉我写的太简单了?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马