Math.ceil() won’t work on its own because the problem occurs earlier.
b are both integers, so dividing them evaluates to an integer which is the floor of the actual result of the division. For
a = 3 and
b = 2, the result is
1. The ceiling of one is also one – hence you won’t get the desired result.
You must fix your division first. By casting one of the operands to a floating point number, you get a non-integer result as desired. Then you can use
Math.ceil to round it up. This code should work:
Math.ceil((double)a / b);