Wochentag als String ausgeben mit JDK Klassen

elsaaaaaa

Neues Mitglied
Hallo miteinander,


ich habe eine Praktikumsaufgabe erhalten wo verlangt wird das mit Hilfe einer JDK Klasse der Wochentag meinetwegen 3 als String ausgegeben wird.
Bedeutet als Mittwoch.

Die Ausgabe soll folgt ausschauen :

Heute ist Mittwoch, der 3.3.2021


Natürlich kann man dies mithilfe eines Switch-Case lösen jedoch meinte der Lehrer, dass es nicht der Sinn und Zweck ist mit einem Switch Case dies zu lösen.

Ich hoffe ihr könnt mir weiterhelfen.
 
Ausgabe kann man mit der richtigen String.format auch erreichen:
Java:
System.out.printf(Locale.GERMAN, "Heute ist %tA, der %<td.%<tm.%<tY", LocalDate.now())
 
Ausgabe kann man mit der richtigen String.format auch erreichen:
Java:
System.out.printf(Locale.GERMAN, "Heute ist %tA, der %<td.%<tm.%<tY", LocalDate.now())
Ja, das String.format wird irgendwie im Java Umfeld (das ich so sehe) sehr wenig genutzt. Da bin ich aus dem C# Umfeld eine stärkere Nutzung gewohnt (Da gibt es mit de, $ ja sogar eine entsprechende Zeichenfolgeinterpolation...)

Im Java Umfeld nutze ich gerne MessageFormat aus java.text da ich gerne Parameter nummeriert angebe und die Nachricht selbst aus einer Resourcedatei hole - was aber natürlich hier beim Thema das Threads nicht wirklich weiter hilft.
 
Eine weitere Möglichkeit sich das Datum ausgeben zu lassen ist die Klasse Calender https://docs.oracle.com/javase/7/docs/api/

Anmerkung: Neben Switch Case könnte man den Wochentag auch als Enum machen:

Java:
public enum Wochentag {
    MONTAG, DIENSTAG, MITTWOCH, DONNERSTAG, FREITAG
}
Wobei ich die Calendar Klasse soweit es geht vermeiden würde. Die kann wunderbar zur Demonstration nutzen wie man eine API nicht gestaltet.
 
Ich bin gerade dabei mein erstes größere Programm zu schreiben.
Mit der Calendar-Klasse hatte ich so meine Probleme . Auf anraten, habe ich dann die DateTime-Klassen mit Erfolg angewendet.

[CODE lang="java" title="LocalDate"]LocalDate nowDate = LocalDate.now();
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
DateTimeFormatter wochenTagFormatter = DateTimeFormatter.ofPattern("EEEE");
System.out.println("Heute ist " + wochenTagFormatter.format(nowDate) + ", der " + dateFormatter.format(nowDate));[/CODE]

Es gibt noch einiges mehr an Formatierungen. Findet man ziehmlich schnell im Netz.

MfG MB
 

Zurück
Oben