Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » missing return statement » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen missing return statement
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Fummy
unregistriert
missing return statement Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

Fummy hat dieses Bild (verkleinerte Version) angehängt:
Bildschirmfoto 2015-03-15 um 15.16.59.png

15.03.2015 15:23
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
15.03.2015 15:58 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Fummy
unregistriert
... Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

oha jetzt funktioniert es. Vielen dank für die schnelle Antwort großes Grinsen Ich wünsche noch einen schönen Sonntag
smile
15.03.2015 16:04
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Informatik in der Schule » missing return statement