2Danke
ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
729
729
EMPFEHLEN
-
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 statementCode :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ß
-
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ß
-
NetBeans sieht das return-Statement nicht, da es innerhalb des for-Blockes liegt. Das return-Statement muss vor der letzten geschweiften Klammer sein.
-
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ß
-
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, ...?
-
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
-
Array-Index alphanumerisch und Push-Methode
Von Netzwerkidi im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 06.06.11, 20:23 -
Welche Array methode?
Von haruna im Forum C/C++Antworten: 12Letzter Beitrag: 16.01.11, 12:09 -
Allokiertes Array, 1. Wert falscher Wert
Von Nadriel im Forum C/C++Antworten: 9Letzter Beitrag: 28.07.10, 21:13 -
SESSION bekommt falschen Wert
Von Nepheus im Forum PHPAntworten: 7Letzter Beitrag: 10.10.06, 14:31 -
Farbe ersetzen - wie bekommt man den genauen Wert
Von miwe im Forum PhotoshopAntworten: 6Letzter Beitrag: 04.11.05, 12:21





Zitieren

Login





