2013-11-19 3 views
0

Итак, у меня есть массив, и я знаю, как найти самое высокое значение, но я не могу понять, как получить позицию этого значения в массиве. Метод до сих пор выглядит следующим образом:Как найти максимальное значение в массиве и его позицию

public static void findHottest(int[] temp){ 
     int hottest = temp[0]; 
     for(int i = 1; i < temp.length; i++){ 
      if(temp[i] > hottest) { 
       hottest = temp[i]; 
      } 
     } 
+1

So. Все, что вам нужно сделать, это добавить переменную «position», которая отслеживает индекс «самой горячей» записи. –

ответ

0
public static void findHottest(int[] temp){ 
    int hottest = temp[0]; 
    int highestIndex = 0; 

    for(int i = 1; i < temp.length; i++){ 
     if(temp[i] > hottest) { 
      hottest = temp[i]; 
      highestIndex = i; 
    } 
} 

Просто хранить индекс, когда вы столкнулись с более высоким значением.

+0

ohh duh! хаха спасибо! –

+1

Почему это было приостановлено? –

0

У вас уже есть ответ. В коде

public static void findHottest(int[] temp){ 
      int hottest = temp[0]; 
int index =0; 
      for(int i = 1; i < temp.length; i++){ 
       if(temp[i] > hottest) { 
        hottest = temp[i]; 
        index =i // index is the index you are looking for. 
       } 
      } 

Так, только есть index переменную, которая обновляется каждый раз, когда hottest = temp[i] оператор запускается на выполнение.

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