Java Jahreskalender

DeLongo

Grünschnabel
Hallo

ich habe ein Problem in JAVA , ich soll für meinen Lehrer ein Programm schreibe indem er ein Datum eingibt und es soll dann Sagen welche Wochentag das war.

Zum Beispiel: 08.12.2008 war ein Montag.

Leider bin ich nicht so gut in JAVA Bis jetzt hab ich nur das Eingabefeld geschafft.

import java.util.*;
import java.text.*;
import java.io.*;

public class DatumAusgeben
{
public static void main( String args[] )
{

System.out.println( "Datum eingeben: " );
try {
BufferedReader in = new BufferedReader(
new InputStreamReader( System.in ) );
String s = in.readLine();
} catch( IOException ex ) {
System.out.println( ex.getMessage() );
}
}
}

Aber da kann ich ja alles eingeben was ich will, ich müsste es so Programmieren das nur das Datum eingegeben werden kann, TT:MM:JJJJ

Aus meiner Klasse haben viele mir die Klasse GregorianCalendar vorgeschlagen.
Leider hab ich es nur geschafft das Aktuelle Datum mir anzeigen zu lassen, mit Uhrzeit.

SimpleDateFormat fmt;
fmt = new SimpleDateFormat();
fmt.applyPattern("EEEE', 'dd. MMMM yyyy 'um' hh:mm:ss");
Calendar cal;
cal = new GregorianCalendar();
System.out.println( fmt.format( cal.getTime() ) );



Kann mir da jemand ein Paar tipps geben wie ich da vorgehn kann?

Vielen Dank im vorraus.
 
Also deine Eingabe würde ich auf jeden Fall auswerten.

Code:
do {
//Eingabe
}while(istUngueltig(str));

In str.istUngueltig() nimmst du dann den String auseinander und schaust ob er wirklich
deinem Format entspricht. Wenn er das nicht tut gibst du true zurück und er fordert eine neue Eingabe.
 
Zuletzt bearbeitet:
Den Text kannst du ja einfach überprüfen mittels regulären Ausdrücken. Einfach den eingegebenen String danach prüfen, ob er auch nur gewünschte Zeichen enthält.
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#matches(java.lang.String)

http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html#sum

Das sollte dir dabei helfen.

Zum Kalender:
Du must dem Kalender natürlich auch irgendwie das eingegebene Datum mitteilen.
http://java.sun.com/j2se/1.5.0/docs...Calendar.html#GregorianCalendar(int, int, int)
Java:
GregorianCalendar cal = new GregorianCalendar(2009,6,25);

Du musst die Werte eben an deine Eingabe anpassen.
Um den Wochentag zu ermitteln kannst du einfach die "get"-Methode der Superklasse des GregorianCalendar aufrufen.
Java:
int day = cal.get(Calendar.DAY_OF_WEEK);

Wobei "DAY_OF_WEEK" eine Konstante der Klasse Calendar ist und dir die "get"-Methode somit den für den Wochentag representativen int-Wert zurückliefert.

Edit:
Wie Tim Bureck schon erwähnt hat, solltest du öfters mal einen Blick in die JavaApi riskieren, sie ist oft sehr von Vorteil.
http://java.sun.com/j2se/1.5.0/docs/api/
 

Neue Beiträge

Zurück