/**
 *
 * Programmieraufgabe P-3 (Datum.java)
 *
 * @author Leonhard Fellermayr
 * @version 1.0
 */

/** FŸr die Ermittlung des aktuellen Jahrs werden folgende Klassen benštigt */

import java.util.Date;
import java.text.SimpleDateFormat;

public class Datum
{

	public static void main (String[] args)
	{

		/** @param MATR_NR Eingabegrš§e Matrikelnummer */
		
		final String MATR_NR = "290282401234";

		/** Tag, Monat, Jahr extrahieren
		 * 
		 *  @param d Tag aus dem Geburtsdatum (Stellen 0,1 der Mat.Nr.)
		 *  @param m Monat aus dem Geburtsdatum (Stellen 2,3 der Mat.Nr.)
		 *  @param y Jahr aus dem Geburtsdatum (Stellen 4,5 der Mat.Nr.)
		 * 
		 * */

		String d = MATR_NR.substring (0,2);
		String m = MATR_NR.substring (2,4);
		String y = MATR_NR.substring (4,6);

		/** @param century Erste beiden Stellen des Jahrhunderts (default 19) */
		
		int century = 19;

		/** ermitteln, ob Geburtsjahr < aktuellem Jahr, also 2000+x
		 * 
		 * @param now Aktuelles Datum
		 * @param doFormat Instanz von SimpleDateFormat
		 * 
		 * */

		Date now = new Date ();
		SimpleDateFormat doFormat = new
			SimpleDateFormat ("y");

		/** †berprŸfe, ob Geburtsjahr < aktuellem Jahr (z. B. 01 < 04).
		 *  In diesem Fall setze century auf 20.
		 * 
		 *  Diese Lšsung setzt voraus, dass der Student jŸnger als 100 Jahre
		 *  alt ist.
		 * 
		 */
		
		if (Integer.parseInt (y) < Integer.parseInt (doFormat.format (now)))
			century = 20; 

		/** String zusammensetzen
		 * 
		 *  @param gebdat_formatted VollstŠndiges Geburtsdatum dd.mm.(19|20)yy
		 * 
		 * */
		
		String gebdat_formatted = d + "." + m + "." + century + y;

		/** Ausgabe des vollstŠndigen Geburtsdatums auf die Konsole */
		System.out.println (gebdat_formatted);

	}

}
