tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von javaDeveloper2011
  • 1 Beitrag von j2se
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
729
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    korona korona ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    21
    Guten Morgen,

    ich möchte an die Methode ein Array und ein int Wert übergeben und eine int als Rückgabewert. Allerdings funktoniert es nicht. Kann mir bitte einer sagen was daran falsch ist?

    NetBeans unterstreicht die erste Zeile und sagt
    missing return statement
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
        public int in_array(int[] arr, int val){
            for (int i = 0; i < arr.length; i++) {
                if (arr[i] == val) {
                    return i;
                } else
                return -1;
            }       
        }

    Schönen Gruß
     

  2. #2
    Avatar von javaDeveloper2011
    javaDeveloper2011 javaDeveloper2011 ist offline Mitglied Brokat
    Registriert seit
    Feb 2011
    Beiträge
    445
    Blog-Einträge
    5
    Hi,

    für den Fall, dass de Länge des Arrays 0 ist, wird die for-Schleife 0 mal durchlaufen, also würde dann nichts zurückgegeben, obwohl der Rückgabetyp int ist!

    Du willst wohl -1 zurückgeben, falls der Wert nicht enthalten ist.?
    Das geht so:
    Code java:
    1
    2
    3
    4
    5
    6
    
    public int in_array(int[] arr, int val){
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == val)   return i;        
        }
        return -1;   // Wird nur erreicht, wenn Wert nicht enthalten
    }

    Gruß
    korona bedankt sich. 

  3. #3
    Avatar von j2se
    j2se j2se ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    94
    Blog-Einträge
    1
    NetBeans sieht das return-Statement nicht, da es innerhalb des for-Blockes liegt. Das return-Statement muss vor der letzten geschweiften Klammer sein.
    korona bedankt sich. 

  4. #4
    korona korona ist offline Mitglied
    Registriert seit
    Aug 2011
    Beiträge
    21
    Hallo,
    ich danke euch beiden für die Antwort es funktioniert.

    Ich wundere mich über das weglassen des "else" und der Klammer, kürzlich habe ich die Erfahrung machen müssen das eine if-Schleife nicht funktioniert weil das else gefehlt hat aber hier funktionierts.

    Nochmals Danke und Schönen Gruß
     

  5. #5
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.502
    Hi

    Ein if muss in keinem Fall ein else haben, das geht auch immer allein.
    Muss wohl was Anderes falsch gewesen sein.

    if ist übrigens keine Schleife.
    Schleifen wiederholen sich: while, for...

    Gruß
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  6. #6
    Avatar von suchong
    suchong suchong ist offline Mitglied
    Registriert seit
    Oct 2011
    Beiträge
    14
    Wie bereits geschrieben, liegt es am return-Statement innerhalb des for-Blocks und nicht am else. D.h. es würde auch so gehen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
        public int in_array(int[] arr, int val) {
            int a = 0;
            for (int i = 0; i < arr.length; i++) {
                if (arr[i] == val) {
                    a = i;
                    ;
                } else
                    a = -1;
            }
            return a;
        }
     

Ähnliche Themen

  1. Array-Index alphanumerisch und Push-Methode
    Von Netzwerkidi im Forum Javascript & Ajax
    Antworten: 6
    Letzter Beitrag: 06.06.11, 20:23
  2. Welche Array methode?
    Von haruna im Forum C/C++
    Antworten: 12
    Letzter Beitrag: 16.01.11, 12:09
  3. Allokiertes Array, 1. Wert falscher Wert
    Von Nadriel im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 28.07.10, 21:13
  4. SESSION bekommt falschen Wert
    Von Nepheus im Forum PHP
    Antworten: 7
    Letzter Beitrag: 10.10.06, 14:31
  5. Antworten: 6
    Letzter Beitrag: 04.11.05, 12:21