Anzeige:
Ergebnis 1 bis 3 von 3

Thema: switch - case - return

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.03.2003
    Beiträge
    47

    switch - case - return

    Wo muss denn die 'return' - Anweisung hin, damit es nicht zur Fehlermeldung kommt?

    Code:
    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;
    		  		
    		}
    	}
    }
    Code:
    @linux:~/vfh/lexx> javac Rechenwerk.java
    Rechenwerk.java:10: missing return statement
            {
            ^
    1 error

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159
    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.

    "I could have made some money developing proprietary software, and perhaps amused myself writing code. But I knew that at the end of my career, I would look back on years of building walls to divide people, and feel I had spent my life making the world a worse place."
    -- Richard M. Stallman

    Wissenskommunismus und Wissenskapitalismus
    Offene Quellen und öffentliches Wissen
    und vieles mehr: VRG's Texts , Philosophy of the GNU Project

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    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,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •