#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 хочет перейти к следующей записи массива ПОСЛЕ этого значения.