missing return statement

Neue Frage »

Auf diesen Beitrag antworten »
Fummy missing return statement

Meine Frage:
Hallo,
Ich muss für die Schule ein Spiel programmieren Die Idee ist, Rechenaufgaben zu haben, die Kettenmäßig weiter gehen, man aber immer nur die neue zahl sieht und sich die alte merken muss. Jetzt habe ich einen Zufallsgenerator für die Rechenzeichen gemacht, allerdings meckert er "missing return statement". Ich mache das mit String um später mit einer anderen Klasse darauf zugreifen zu können. Könnt ihr mir helfen was ich falsch mache?

Meine Ideen:
Ich habe schon versucht das return nochmal unter die if-Anweisungen zu schreiben und Klammern nach dem return zu setzen. Ich habe auch probiert statt Anführungszeichen, Sternchen zu machen. Hat leider alles nicht geklappt.
 
Auf diesen Beitrag antworten »
Karlito

Das Problem ist hier, dass die Funktion unter allen Umständen etwas zurückgeben muss. Es scheitert daran, dass der Compiler nun prüft ob dies der Fall ist. Was ist z.B. wenn rechenzeichenID mal nicht 0,1 oder 2 ist. Dann kann nichts zurückgegeben werden.

Es gibt mehrere Möglchkeiten das Problem zu lösen.
  • Rückgabe eines Standardwertes
  • Auslösen einer Exception für den Fall, dass rechenzeichenID nicht zwischen 0 und 3 liegt.


Beispiel 1 (Standardwert ist null, könnte aber auch eine Rechenoperation sein, die immer genommen werden soll):
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
public String rechenzeichenSetzen(){
	String result = null; // Standard ist immmer nichts, dann muss der Aufrufer sich kümmern
	if (rechenzeichenID == 0){
		result = "*";
	} else if (rechenzeichenID == 1){
		result = "+";
	} else if (rechenzeichenID == 2){
		result = "-";
	}
	return result;
}


Beispiel2 (erzeugen einer Ausnahme):
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
public String rechenzeichenSetzen(){
	if (rechenzeichenID == 0){
		return = "*";
	} else if (rechenzeichenID == 1){
		return "+";
	} else if (rechenzeichenID == 2){
		return "-";
	} else {
		throw new Exception("Die rechenzeichenID " + rechenzeichenID + " ist ungültig.");
	}
}


Gruß,

Karlito
Auf diesen Beitrag antworten »
Fummy ...

oha jetzt funktioniert es. Vielen dank für die schnelle Antwort großes Grinsen Ich wünsche noch einen schönen Sonntag
smile
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »