Решаю задачу. В ней array.length = 11. Мой код:
middleElement = (int)Math.ceil(array.length/2);
Другой код:
middleElement = array.length/2+1;
В моем понимании и там и там должен быть middleElement = 6. Т.к. в первом случае 11/2 = 5.5 округлить вверх = 6. Во втором случае 11/2 = 5 (т.к. int) + 1 = 6. Но компилятор в первом случае выдает 5, а во втором 6. Чем эти вещи различаются?