Java正整数除法向上取整

yikolemon / 2023-09-03 / 原文

1、简介

在今天刷每日一题的时候看到的,感觉和以前自己写的向上取证的写法比起来好很多,在此记录。来源:1921. 消灭怪物的最大数量 - 力扣(LeetCode)

2、内容

仅仅在正整数除法,三种都可用

1、Math.ceil()

2、x/y+(x%y==0?0:1)

3、(x-1)/y+1

class Solution {
    public static void main(String[] args) {
        int x=8;
        int y=3;
        //1
        int ceil = (int)Math.ceil((double) x / y);
        //2
        int ceil2=x/y+(x%y==0?0:1);
        //3
        int ceil3=(x-1)/y+1;

        System.out.println(ceil);
        System.out.println(ceil2);
        System.out.println(ceil3);
    }
}

结果截图:

image-20230903162941492

3、注意

对于包含负数,0的除法,还是用Math.ceil()更为保险,其他两种方法会出错