String Übungen: MonthAsString
Schreiben Sie eine Klasse Datum, die eine öffentliche (public) Methode monthAsString hat. Dieser Methode soll eine Zeichenkette (String) vom Format „dd.mm.yyyy“ übergeben werden können. Anschließend liefert die Methode den Monat als String ausgeschrieben zurück. Hierbei sollen führende Nullen der Tagesangabe entfernt werden und die Tagesangabe mit einen Punkt abschließen.
- „01.04.2010“ geht über in 1. April 2010 (hier wurde die führende Null entfernt)
- „31.11.2010“ geht über in 31. November 2010
Schreiben Sie auch eine Klasse Main, in deren main-Methode die Klasse Datum getestet wird.
Format „dd.mm.yyyy“ bedeutet, dass die ersten 2 Stellen gefolgt von einem Punkt. für den Tag belegt sind. Die nächsten 2 Stellen gefolgt von einem Punkt sind durch den Monat belegt. Die letzen 4 Ziffern legen das Jahr fest. Hier steht d für 'day', m steht für 'month' und y für 'year'.
Um das Konzept der objektorientierten Programmierung besser zu verdeutlichen haben wir das eigentliche Problem in mehrere Teilschritte zergliedert. Mehrere Teilschritte entsprechen hier also mehreren Methoden (Funktionen). Auf eine Ausnahmebehandlung (Exception Handling) wurde hier bewusst verzichtet, d.h. wir gehen davon aus das nur gültige Datumsangaben übergeben werden.
public class Datum { private String getDay(String str){ // todo return ""; } private String getMonth(String str){ // todo return ""; } private String getYear(String str){ // todo return ""; } public String monthAsString(String strDatum) { String d = getDay(strDatum); String m = getMonth(strDatum); String y = getYear(strDatum); return d+"." + m + y; } }
Die Hauptklasse um die Klasse Datum zu testen.
public class Main { public static void main(String[] args) { Datum datum = new Datum(); String text = datum.monthAsString("01.02.2010"); System.out.println(text); } }
Wenn du wirklich überhaupt keine Idee hast …
Lösungsvorschlag MonthAsString-Solution