错误一例:
int min,max;
//...一些过程
int mid = (int) Math.ceil((min+max)/2);
这个代码不能达到向上取整的目的
因为min,max 都是int类型,相加除以2之后,已经向0取整,已经是整数,所以Math.ceil()方法无济于事。
处理办法1 2
int mid = (min+max+1)/2;
//或者
int min = (min+max+1)>>1;
版权声明:本文为sinat_34524528原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。