Это потому, что ваш код "застрял в бесконечном цикле"
Ваше if(i>len-1)
условие противоречит условию вашего условия цикла for i<len-1
. Таким образом, переменная-флаг никогда не получает значение FALSE
и, следовательно, никогда не заканчивается
Кроме того, есть еще пара ошибок.
В вашем цикле for вы меняете значение индекса i на индекс len-1, но значение переменной len не меняется.
Вот решение с некоторыми изменениями:
class mark25 {
public static void main(String args[]) {
int arr[] = {
1,
2,
3,
4,
5
};
int len = arr.length;
boolean flag = true;
int i = 0;
while (flag) {
int temp = arr[i];
arr[i] = arr[len - 1];
arr[len - 1] = temp;
len--;
i++;
if (i > len - 1) {
flag = false;
break;
}
}
for (int j = 0; j < arr.length; j++) {
System.out.println(arr[j]);
}
}
}
Надеюсь, это поможет.