Я новичок в Java. Я хотел бы получить индекс последнего вхождения в массив, используя цикл. Однако я не понимаю, почему я не могу.Найти последнее вхождение массива Java?
Это массив: {2, 3, 4, 5, 4, 5, 3}
Я хотел бы получить индекс последнего 4 в нем.
Мой код:
public static void main(String args[]){
int[] nums = {2, 3, 4, 5, 4, 5, 3};
int pos4 = 0;
for (int k = nums.length -1; k >= 0; k--){
if (nums[k] == 4){
pos4 = k;
break;
}
System.out.print(pos4);
}
}
Результат: 00 ??
Когда я изменяю:
public static void main(String args[]){
int[] nums = {2, 3, 4, 5, 4, 5, 3};
int pos4 = 0;
for (int k = nums.length -1; k >= 0; k--){
if (nums[k] == 4){
break;
}
System.out.print(k);
}
}
Я получил 65 ???
Однако, когда я печатаю прямо из цикла я получаю индекс правильно:
public static void main(String args[]){
int[] nums = {2, 3, 4, 5, 4, 5, 3};
int pos4 = 0;
for (int k = nums.length -1; k >= 0; k--){
if (nums[k] == 4){
System.out.print(k);
break;
}
}
}
Может кто-нибудь сказать мне, почему? Большое спасибо!
Добро пожаловать в переполнение стека! Похоже, вам нужно научиться использовать отладчик. Пожалуйста, помогите нам с некоторыми [дополнительными методами отладки] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Если у вас все еще есть проблемы после этого, пожалуйста, не забудьте вернуться с более подробной информацией. –