나는 1, 2 및 3 번째로 큰 배열을 찾아야합니다. 나는 그것을 단순히 정렬하고 배열 [0], 배열 [1], 배열 [3]을 반환 할 수 있음을 안다. 그러나 문제는 가치가 아니라 지수가 필요하다는 것입니다. 내가 float[] listx={8.0, 3.0, 4.0, 5.0, 9.0}
이있는 경우 예를 들어는 0, 4 반환해야하고, 여기에두 번째 및 세 번째 최대 요소 배열 자바를 찾으십시오
3. 내가 가지고있는 코드입니다하지만 작동하지 않습니다
//declaration max1-3
public void maxar (float[] listx){
float maxel1=0;
float maxel2=0;
float maxel3=0;
for (int i=0; i<listx.length; i++){
if(maxel1<listx[i])
{maxel1=listx[i];
max1=i;
}
}
listx[max1]=0; //to exclude this one in nextsearch
for (int j=0; j<listx.length; j++){
if(listx[j]>maxel2)
{maxel2=listx[j];
max2=j;
}
}
listx[max2]=0;
for (int k=0; k<listx.length; k++){
if(listx[k]>maxel3)
{maxel3=listx[k];
max3=k;
}
}
}
을 내가 max1 권리를 얻을 수 있지만 모든 요소 후 따라서 max2와 max3은 0이됩니다.이 솔루션에 무엇이 잘못 되었습니까? 고맙습니다.
확인 [이] (http://stackoverflow.com/questions/2615712/finding-the-second- 가장 높은 숫자의 배열) 게시물 –