Minimum eines Arrays ausgeben

KonradN

Super-Moderator
Mitarbeiter
Generell ist das Vorgehen immer gleich:
  • erst musst Du Dir einmal überlegen, was Du genau machen willst. Das überlegst Du mit Stift und Papier und dabei benutzt Du auch normale Worte - also noch nichts mit Java oder so.
  • Erst wenn genau klar ist, wie Du vorgehen kannst, kannst Du anfangen, Code zu schreiben.

Daher einfach mal die Frage: Wenn ich Dir eine Zahlenreihe gebe: Kannst Du mir die kleinste Zahl sagen? Wie kriegst Du die kleinste Zahl raus?
Also z.B.: Was ist die kleinste Zahl bei: 7, 27, 15, 3, 99

Wenn Du das raus bekommen hast: Was hast Du gemacht?

Ansonsten ist der Code so schon nicht übersetzbar. Da sind Dinge rot unterstrichen - wenn Du da mit der Maus drauf gehst, dann wirst Du die Fehlermeldung auch zu sehen bekommen. (Bei Dir dürften das zwei Fehlermeldungen sein:
  • Die Methode gibt nicht immer etwas zurück. Wenn das Array keine Elemente hat, dann geht er nie in die Schleife und damit kommt auch nie ein return Befehl.
  • Und min wird nicht immer initialisiert vor der Verwendung. Du Deklarierst die Variable nur. Die Zuweisung wird aber nur gemacht, wenn die Bedingung im if zutrifft.

Und Code sollte immer richtig eingerückt sein. Das kann eigentlich jede Entwicklungsumgebung. Du nutzt Eclipse? Dann wäre Ctrl-Shift-F die Tastenkombination oder der Menupunkt Source -> Format Document
 

M.L.

Top Contributor
Die Warnmeldungen beziehen sich (wohl) auf "this method must return a result of type int" oder "dead code" (o.s.ä.). Mit einer Änderung im Code geht es (auch mit Eclipse):
Java:
public class A1_Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
   int a [] = {2,-2,-3,1,-9};
   System.out.println(findSmall(a));
  //System.out.println(findSmall_alt(a));  //Implementierung aus dem Screenshot, wohl nicht zuverlässig
    }
public static int findSmall ( int a []) {
    int min=a[0];
    
    for(int i=0; i < a.length; i++) {
        if(a[i]<min) {
            min=a[i];
        }
    }
        return min;
    //}
}
/*
public static int findSmall_alt ( int a []) {
    int min=a[0]; //ansonsten Warnmeldung "may not have been initialized"
    
    for(int i=0; i < a.length; i++) {
        for ( int j=i+1; j< a.length-1; j++) {
        if(a[i]<a[j]) {
            min=a[i];
        }
    }
        
}
    return min;
}
*/
}
 

Neue Themen


Oben