Wie die Rückgabe eines Wertes innerhalb einer Schleife in einer return Methode?
Habe ich Schwierigkeiten zurückgeben eines Wertes aus einer Schleife in der Methode.
Habe ich versucht, auf diese Weise: (die gibt classname
meine initialisieren String statt classes.get(i).className
)
public String getClassName(){
String cName = "classname";
for (int i=0; i<classes.size(); i++){
cName = classes.get(i).className;
}
return cName;
}
und ich habe versucht, dies so gut: (gibt c
statt classes.get(i).className
)
public String getClassName(){
String cName = "classname";
String c = "c";
for (int i=0; i<classes.size(); i++){
c = classes.get(i).className;
}
cName = c;
return cName;
}
Bitte sagen Sie mir, wie man zurück classes.get(i).className
!! Vielen Dank 😛
Basierend auf dem, was Sie tun müssen, geben den Wert zurück?! Da in Ihrem Fall der Letzte Wert aus der Liste Klassen wird immer zurückgegeben.
Bedeutet es, dass mein code hat kein problem, aber es gibt tatsächlich nichts in der ArrayList gespeichert, so gibt es die initialsed Wert?
Ja und Nein. Syntaktisch, Ihr code korrekt ist und ob Daten in der Liste, die Sie bekommen würde, einen anderen Ausgang(nicht die
Danke. aber wenn die
Sie würde, könnte Sie eine null/leer überprüfen Sie, vor der Rücksendung. So einfach ist das. Auch, da es ein Liste, erhalten Sie die
Bedeutet es, dass mein code hat kein problem, aber es gibt tatsächlich nichts in der ArrayList gespeichert, so gibt es die initialsed Wert?
Ja und Nein. Syntaktisch, Ihr code korrekt ist und ob Daten in der Liste, die Sie bekommen würde, einen anderen Ausgang(nicht die
className
die Sie standardmäßig eingestellt). Aber logisch, es ist nicht so, es wird immer das Letzte element aus der Liste, und ich bezweifle wirklich, wenn Sie das wollen, denn wenn das der Fall ist, return classes.get(classes.size() - 1).className;
sollte ausreichen. Sie müssen nicht einmal die Liste Durchlaufen.Danke. aber wenn die
ArrayList classes
hat 0 Elemente zunächst, fürchte ich, dass mitreturn classes.get(classes.size() - 1).className
würde die java.lang.ArrayIndexOutOfBoundsException: -1
FehlerSie würde, könnte Sie eine null/leer überprüfen Sie, vor der Rücksendung. So einfach ist das. Auch, da es ein Liste, erhalten Sie die
IndexOutOfBoundsException
.
InformationsquelleAutor Sue | 2013-10-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nichts gespeichert in Klassen. Stellen Sie sicher, dass Sie haben, was Sie denken, Sie tun. Versuchen Sie, diese innerhalb der for-Schleife, um zu sehen, was Los ist:
Wenn dieser nie druckt, wissen Sie, dass Klassen ist leer. Jederzeit innen der for-Schleife, können Sie rufen Sie zurück, zum Beispiel, wenn der name der Klasse entspricht, etwas, das Sie testen können, für die in einem wenn - Anweisung.
Könnte auch Sie upvote, oder markieren Sie jemand als richtig? (Ich bin neu und würde gerne ein paar gute Antworten als solche gekennzeichnet 🙂 )
InformationsquelleAutor Josh T
Ich weiß nicht, was versuchen Sie zu tun, aber dein code ist äquivalent zu:
Sind Sie sicher, dass dies ist, was Sie wollen, um zurückzukehren? Sie sollten vorsichtig sein, im Falle
classes
leer ist wie Sie bekommen könnteArrayIndexOutOfBoundsException
.java.lang.ArrayIndexOutOfBoundsException: -1
Bedeutet, dass Ihre Klassen-Objekt ist leer.
Da
classes
leer ist.Das ist, weil Ihr
classes
leer ist.Danke. Scheint einige andere Teile meines Programms gibt es ein problem 🙁
InformationsquelleAutor Maroun
Während marun ist Recht bout der code nur Rücksendung der Letzte Wert in der Klassen-collection, die Realität ist, dass in deinem Beispiel die Sammlung ist immer leer, und so ist die for-Schleife nicht ausgeführt, auch einmal. Stellen Sie sicher, dass die collection-Klassen enthalten, was Sie denken, es sollte!
classes
?ja ... das ist das, was ich sagte, und auch, was ich meine (und jetzt dieser Kommentar ist lang genug)
InformationsquelleAutor rolfl
Werden sollten, da Sie nicht geben Sie die for-Schleife vor allem, weil Sie der Liste "Klassen" leer ist.
Sie können überprüfen Sie es auf diese Weise-
InformationsquelleAutor Ankit Rustagi