странный оператор деления в Groovy

Я новичок в Groovy.

почему это вызывает исключение во время выполнения:

int[] a = [1,2,3,4,5]
int lo=0
int hi=4

int x = a[(lo+hi)/2]
assert x == 3

пока это нормально:

int x = a[(int)(lo+hi)/2]

и

int i = (lo+hi)/2
int x = a[i]
9
задан aioobe 21 February 2011 в 07:41
поделиться