Servus ich würde gern den zweit niedrigsten wert in einem array berechnen. Ich hab das mal so gemacht
aber dumm von mir ist das natürlich auch der billigste wert wieder verglichen wird und dieser natürlich gleich ist und immer als zweiter wert ausgegeben wird... wie kann ich das verhindern??
Code:
public static int[] minimal(int [ ] werte) {
int minimal[] = new int[2];
minimal[0] = werte[0];
for (int i=0;i<werte.length;i++)
{
if ( werte[i] < minimal[0] ){
minimal[0] = werte[i];
minimal[1]=i;
}
}
return minimal;
}
public static int[] second(int [ ] werte , int [ ] billigste) {
int[] second = new int[2];
second[0] = 99999999;
for (int i=0;i<werte.length;i++)
{
if ( werte[i] > billigste[0]){
if (werte[i] < second[0]){
second[0] = werte[i];
second[1]=i;
}
}if ( werte[i] == billigste[0]) {
second[0] = werte[0];
second[1]=i;
}
}
return second;
}