return-Anweisung gibt nichts aus

  • Themenstarter Themenstarter WI-Stud
  • Beginndatum Beginndatum
W

WI-Stud

Gast
Hallo liebe Gemeinde,

folgender Code steht an:

Java:
public class jahreszeit 
{
         
    public static void main(String[] args) {
        jahreszeit(1);
    }
    
    static String jahreszeit(int n){
    	String ergebnis;
    	switch(n)
    	{
    			case '1': ergebnis = "Frühling";
    			break;
    			case '2': ergebnis = "Sommer";
    			break;
    			case '3': ergebnis = "Herbst";
    			break;
    			case '4': ergebnis = "Winter";
    			break;
    			default: ergebnis = "Fehler";	
    	}
    	return ergebnis;
    }
}

Leider bekomme ich keine Ausgabe. Was habe ich übersehen?

Grüße
 
Du machst keine Ausgabe, oben in die Main:
Java:
System.out.println(jahreszeit(1));

Aber nen 2ter kleiner Fehler, bei den Case Anweisungen schreibst du die Zahlen in ' und dadurch werden diese zu einem String. Daher die Zahlen ohne ' schreiben, z.B.

case '1': => case 1:
 
Leider bekomme ich keine Ausgabe. Was habe ich übersehen?

Ich sehe auch nicht, wo du in dem Code eine Ausgabe gemacht hast. Wie und wo möchtest du denn etwas ausgeben? Auf Konsole? Dann musst du da irgendwo noch ein System.out.println(<hier die String-Variable, die du ausgeben möchtest>) einfügen.

Ich vermute auch mal, die Zahlen nach dem case müssen da ohne Anführungszeichen stehen.

Den Klassennamen solltest du mit einem Grossbuchstaben beginnen. Und die Methode würde ich nicht gleich wie die Klasse benennen.
 
naja ... single-quotes sind eigentlich 'char' .. und nicht "String" ... das ist schon ein unterschied ... und gerade bei switch-case bedarf es aufgrund der möglichen numerischen darstellung von char einer genauen unterscheidung ... denn switch-with-String ist wieder was anderes ...
 
Also, wenn du ne switch über ein char machen willst, solltest du den Parameter typ in char, sonst die { weglassen.
 

Neue Themen


Zurück
Oben