Java lernen |
26.02.2015, 23:37 | Auf diesen Beitrag antworten » | |||||||||||||||
javaneu | Java lernen Hallo guten Abend habe gerade ein problem bei dieser Aufgabe: Schreiben Sie eine Klasse Tage mit einer Klassenmethode public static String wochentag(int tag). tag soll die „Nummer“ eines Wochentags darstellen. Benutzen Sie das switch-Statement, um abhängig von der Nummer den zugehörigen Wochentag zurückzugeben (1 =Montag, 7 = Sonntag). Bei Zahlen, die keinem Wochentag entsprechen, soll "FEHLER: Kein Wochentag!" zurückgegeben werden. Ich poste mal meinen Ansatz auch gleich
Könnte man das so programmieren ? ich bekomme noch die Fehlermeldung missing return statement bei blue j. Wo muss ich denn da ein return hinzufügen ? Wir haben gerade angefangen mit java zu programmieren |
|||||||||||||||
|
||||||||||||||||
27.02.2015, 00:16 | Auf diesen Beitrag antworten » | |||||||||||||||
Karlito | Das sieht schon fast richtig aus. Wenn Du eine Methode mit public static String deklarierst, so muss sie einen String zurückgeben. Beispiel:
Wo Du das return platzierst ist mehr oder weniger deine Sache. Wichtig ist nur, dass jeder Pfad in einer solchen Methode mit einem return endet. Man kann so auch eine Methode vorzeitig beenden. Damit dein Programm mit den Anforderungen sinnvoll wird, solltest Du also den Wochentag durch die Methode zurückgeben lassen und nicht mit System.out.println() auf die Konsole ausgeben. Ein weiteres Fehlerchen ist, dass Du in Zeile 5 eine Variable "i" einführst und mit 0 initialisierst. Damit passiert in der Methode immer das Selbe unabhängig davon was für ein Tag an die Funktion übergeben wird. Hier zwei Möglichkeiten, wie das Programm funktioniert:
Oder:
Bei der zweiten Variante wird bei jedem case sofort das Ergebnis zurückgegeben. Dabei wird die Methode sofort verlassen. Deshalb ist das "break;" Statement nicht erforderlich. Besten Gruß, Karlito |
|||||||||||||||
27.02.2015, 00:49 | Auf diesen Beitrag antworten » | |||||||||||||||
javaneu | Code von mir jetzt
Funktioniert bei mir ohne fehler ? Warum steht bei dir noch return result; Und warum machst du das genau hier ?
|
|||||||||||||||
27.02.2015, 02:21 | Auf diesen Beitrag antworten » | |||||||||||||||
Karlito |
Wenn Du es nicht weißt.... Der Code sieht korrekt aus.
Es sind wie gesagt zwei Varianten. Bei der ersten nehme ich mir eine Variable result zur Hilfe, weise den richttigen Wert zu und gebe ganz am Ende der Methode den Wert der Variable result zurück. Die zweite Variante erfordert das return result nicht, da in dieser Variante keine Variable result verwendet wird, sondern die Werte direkt zurückgegeben werden.
Um den Code zu testen. Die main-Methode ist der Einstiegspunkt eines Java-Programmes. Diese Methode wird immer als erstes ausgeführt und ruft alles Weitere auf. Du hast ja die Wochetage direkt in der Methode wochentag über System.out.println() ausgegeben. Hier gebe ich einfach mit System.out.println() den Rückgabewert der Methode wochentag aus. VG, Karlito |
|||||||||||||||
Anzeige | ||||||||||||||||
|
||||||||||||||||
27.02.2015, 02:27 | Auf diesen Beitrag antworten » | |||||||||||||||
javaneu | Alles klar danke . Kannst mir ja vielleicht bei meiner neuen Aufgabe helfen die ich gepostet hab ,falls du Lust hast. Oder vielleicht meldet sich ja hier noch jemand anderer . Ziemlich ruhig hier im forum. |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
|
Die Neuesten » |
|