Hi, habe ein Problem und ich kommt leider nicht auf die Lösung:
Meine Methoden sollen den 2. kleinsten Wert und die Anzahl der verschiedenen Werte ausgeben; in einem Array.
In meinem Beispiel soll eben 12 als 2.kleinster Wert rauskommen und 3 verschiedene Werte.
Das Programm gibt keine Fehlermeldung aus, also habe ich die falschen Formel.
Bitte um Hilfe!
Meine Methoden sollen den 2. kleinsten Wert und die Anzahl der verschiedenen Werte ausgeben; in einem Array.
In meinem Beispiel soll eben 12 als 2.kleinster Wert rauskommen und 3 verschiedene Werte.
Das Programm gibt keine Fehlermeldung aus, also habe ich die falschen Formel.
Bitte um Hilfe!
Code:
public class Tester {
public static void main( String [] args) {
Array b = new Array(10);
b.setArray(new int[]{1, 12, 45, 12, 1});
System.out.println(b.kleinsterWert());
System.out.println(b.zweitKleinsterWert());
System.out.println(b.verschiedeneWerte());
}
}
Code:
public int kleinsterWert(){
int erg = a[0];
for(int i = 0; i < a.length; i++){
if(a[i] < erg)
erg = a[i];
}
return erg;
}
public int zweitKleinsterWert(){
int erg = 0;
int min2 = 0;
for(int i = 0; i < a.length-1; i++){
if(a[i] < erg) {
min2 = erg;
erg = a[i]; }
if(a[i] > min2){
min2 = a[i]; }
}
return min2;
}
public int verschiedeneWerte(){
int counter = 0;
for(int i = 0; i < a.length; i++){
for(int j=1; j < a.length; j++){
if(a[i] == a[j])
counter++; }
}
return counter++;
}
}