PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : switch - case - return



lord.paddington
07-11-2004, 20:21
Wo muss denn die 'return' - Anweisung hin, damit es nicht zur Fehlermeldung kommt?


public class Rechenwerk
{
public int rechnen (int zahl1, int zahl2, char op)
{
switch(op)
{
case '+': return zahl1 + zahl2;

case '-': return zahl1 - zahl2;

case '*': return zahl1 * zahl2;

case '/': return zahl1 / zahl2;

}
}
}


@linux:~/vfh/lexx> javac Rechenwerk.java
Rechenwerk.java:10: missing return statement
{
^
1 error

cybercrow
07-11-2004, 21:21
kenne mich mit java nicht besonders aus.
Aber vielleicht braucht java in der case Anweisung einen "fallback" oder "default" Option die quasi ausgeführt wird wenn keine der case Fälle zutrifft, so das die Funktion auf jeden Fall etwas zurück geben kann.

anda_skoa
07-11-2004, 22:11
Das switch braucht nicht unbedingt ein default, aber die Methode braucht immer ein return, wenn sie nicht void ist und nicht alle Codepfade haben hier eins.

Dein default Case schadet aber nicht, vielleicht eine Exception werfen, wenn alle gültigen op Werte sonst schon behandelt werden.

Ciao,
_