# Datum einlesen



## Jassi (2. Dezember 2003)

Hallo!

Also ich kann eigentlich so gut wie gar nicht Java programmieren, muss aber dringend ein Beispiel abgeben, da ich sonst die Lehrveranstaltung nicht schaffe. Ich soll einen String einlesen, der ein Datum enthält, dieses Datum muss in einem der folgenden Formate vorliegen: "TTMMJJ" oder "Tag*Monat*Jahr", wobei * für ein beliebiges Trennzeichen (keine Ziffer, kein Buchstabe) steht und beide Trennzeichen indentisch sein müssen. Im 1. Fall muss also jede Komponente zweistellig angegeben sein, gegebenenfalls mit führender Null. Die Reihenfolge Tag, Monat, Jahr ist in beiden Eingabeformaten vorgeschrieben.

Ich hab leider keine Ahnung wie das geht 
Bin für jede Hilfe dankbar!

Lg, Jassi


----------



## Thomas Darimont (2. Dezember 2003)

Servus!


```
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DateFormat;
import java.util.GregorianCalendar;
/*
 * Created on 02.12.2003
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
/**
 * @author Administrator
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class DatumsTest {
    public static void main(String[] args) {
        new DatumsTest().doIt();
    }
    /**
     * 
     */
    private void doIt() {
        // TODO Auto-generated method stub
        System.out.println("Bitte ein Datum eingeben:");
        BufferedReader br =
            new BufferedReader(new InputStreamReader(System.in));
        String zeile = "";
        try {
            zeile = br.readLine();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if (zeile.length() > 6) {
            System.out.println("Sonderzeichen!");
            String tag = zeile.substring(0, 2);
            String monat = zeile.substring(3, 5);
            String jahr = zeile.substring(6, 7);
            printDate(tag, monat, jahr);
        } else if (zeile.length() == 6) {
            String tag = zeile.substring(0, 2);
            String monat = zeile.substring(2, 4);
            String jahr = zeile.substring(4, 6);
            printDate(tag, monat, jahr);
        } else {
            throw new RuntimeException("Falsches Datumsformat");
        }
    }
    private void printDate(String tag, String monat, String jahr) {
        int j = Integer.parseInt(jahr);
        int m = Integer.parseInt(monat);
        int t = Integer.parseInt(tag);
        GregorianCalendar cal = new GregorianCalendar();
        DateFormat df;
        df = DateFormat.getDateInstance(DateFormat.SHORT);
        System.out.println(df.format(cal.getTime()));
    }
}
```

Gruß Tom


----------



## Jassi (5. Dezember 2003)

Riesengroßes DANKE  

muss ganz schön viel zeit gekostet haben...drum extragroßes DANKE

lg, Jassi

ps: hast vielleicht icq? Meine Nr.: 112650951


----------

