2015-10-13 2 views
-1

Привет, я написал этот метод, чтобы вернуть индексную позицию массива, но я все равно получаю 0 в качестве возвращаемого значения. Может ли кто-нибудь сказать мне, почему?Найдите положение индекса массива?

public static int indexPosition (int [] intArray, int x) 
{ 
    int index = 0; 

    for (int i = 0; i < intArray.length; i++) 
    { 
     if (intArray[i] == x) 
     { 
      index = i; 
     } 
    } 
    return index; 
} 

это часть основного метода с использованием этого метода

for (int i = 0; i < names.length; i++) 
    { 
     System.out.println(names[i] + ": " + times[i]); 
     System.out.println(indexPosition(times, i)); 
    } 
+3

Каковы значения 'intArray' и' x', когда вы вызываете этот метод? –

+1

Два условия. Нет совпадения, или совпадение произошло в самом первом элементе. Вы можете сломать внешний вид, если совпадение найдено. – makdu

+0

Две возможности: либо позиция 0 в массиве была совпадением, либо совпадением не было ('index' инициализирован равным 0, поэтому вы получите 0 обратно, если нет совпадения) , Возможно, вы должны инициализировать 'index' до -1? Тогда вы узнаете, что совпадения не было, потому что в результате результат не может привести к -1. –

ответ

2

Изменить ваше значение по умолчанию из 0 (действительного индекса), чтобы -1 (так что ваш абонент может знать, что массив Ждет» t содержит элемент). Кроме того, похоже, что нет цели для хранения значения (просто верните соответствующий индекс, если он есть). Что-то вроде,

public static int indexPosition (int [] intArray, int x) { 
    for (int i = 0; i < intArray.length; i++) { 
     if (intArray[i] == x) { 
      return i; 
     } 
    } 
    return -1; 
} 
+0

все еще дает мне -1, я думаю, что это означает, что что-то не так с тем, как я ввожу свои параметры. – Parth

+0

Вы тестируете числа '0' на' names.length' (почему вы думаете, что ваш массив 'times 'содержит 0,1,2,3 или' n' - где 'n' является' names.length - 1')? –

+0

@ElliotFrisch, is not 0 to names.length то же самое, что и 0,1,2,3,4,5 ... n где n - names.length? – Parth

Смежные вопросы