Увеличить индекс ссылки

#java #arrays

#java #массивы

Вопрос:

У меня есть целое число, которое ссылается на значение, хранящееся в массиве. Как я могу увеличить индекс, на который он ссылается?

 int[] pos={0,1,2};
int thisPos=pos[1];
thisPos=pos[  ]; //-> thisPos=pos[2];
  

Комментарии:

1. Он не ссылается ни на какой индекс. thisPos является контейнером для int значения. Вот и все.

2. переменная thisPos не ссылается ни на какой индекс. он просто содержит значение, которое является тем же значением, в котором хранится pos[1] . вы не можете увеличить его до следующего элемента массива. лучшее, что вы могли бы сделать, это сохранить позицию, увеличить эту позицию, а затем индексировать в эту позицию.

Ответ №1:

Вам нужно объявить индекс отдельно:

 int index = 1;
int thisPos = pos[index];
index  ;
thisPos = pos[index];
  

Ответ №2:

Вы могли бы использовать

 pos[2]
  

Если вы хотите отслеживать позицию, вам понадобится переменная для ее хранения:

 int i = 1;
thisPos = pos[i];
i = i 1;
thisPos = pos[i];
  

Ответ №3:

Вам нужно будет просканировать массив, чтобы найти это значение (и надеяться, что это значение УНИКАЛЬНО в массиве) и получить его индекс, а затем увеличить этот индекс. например.

 curPos = find_index_for_value(pos[1]); // index = 1
curPos = curPos   1;
thisPos = pos[curPos];
  

Но, как я уже сказал, вы должны быть уверены, что в массиве нет повторяющихся значений. например, если массив был

 {0,1,2,3,4,0,1,2,3,5}
 a b c d e f g h i j
  

и curPos было 2 — тогда В КАКОМ из двух 2 значений вы находитесь? c или h ?

Комментарии:

1. Я чувствую, что вы неправильно понимаете вопрос. По крайней мере, это не мое впечатление о том, чего хочет OP.

2. как так? thisPos имеет значение из массива, и OP хочет перейти к следующей записи массива ПОСЛЕ этого значения.