Das ist mein Java Code
Ich muss in diesem Code Eingabe desVeranstaltungsdatums prüfen: Nur ob es 3mit Punkt getrennte«Teile»sind und ob die Länge eines «Teils» >= 1 und <= 2 bzw. == 4 ist.Falls das Datumfalsch ist, eine Meldung ausgeben und erneute Eingabe fordern.Prüfen ob der Veranstaltungsname an dem eingegebenen Datum schon im File ist.Falls ja, eine Meldung ausgeben und erneute Eingabe fordern.
Erstellen mit einem Tokenizer aber ich verstehe nicht wo und wie.
Ich muss in diesem Code Eingabe desVeranstaltungsdatums prüfen: Nur ob es 3mit Punkt getrennte«Teile»sind und ob die Länge eines «Teils» >= 1 und <= 2 bzw. == 4 ist.Falls das Datumfalsch ist, eine Meldung ausgeben und erneute Eingabe fordern.Prüfen ob der Veranstaltungsname an dem eingegebenen Datum schon im File ist.Falls ja, eine Meldung ausgeben und erneute Eingabe fordern.
Erstellen mit einem Tokenizer aber ich verstehe nicht wo und wie.
Java:
package Abgabe;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.StringTokenizer;
public class test {
public static void main(String[] args) throws NumberFormatException, IOException {
// reader
InputStreamReader converter = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(converter);
while (true) {
// Menu
System.out.println("Menu");
System.out.println("===");
// Erfassen
System.out.println("1) Neue Veranstaltung erfassen");
// Liste
System.out.println("2) Liste aller Veranstaltungen");
// Ende
System.out.println("3) Programm beenden");
System.out.println();
// Eingabe
System.out.print("Wählen Sie einen Menupunkt: ");
System.out.println();
String eingabe = in.readLine();
if (eingabe.intern() == "1") {
newEvent();
} else if (eingabe.intern() == "2") {
newList();
} else if (eingabe.intern() == "3") {
beenden();
break;
}
System.out.println();
}
}
private static void newList(File f) throws IOException {
if (f.exists()) {
BufferedReader bufRdr = new BufferedReader(new FileReader(f));
// File einlesen
File file = new File("C:\\Temp\\events.txt");
// Liste ausgeben
System.out.println("Liste aller Veranstaltungen:");
String line;
while ((line = bufRdr.readLine()) != null) {
// Ein Wort pro Zeile ausgeben
StringTokenizer st = new StringTokenizer(line, ";");
String token1 = st.nextToken();
String token2 = st.nextToken();
StringTokenizer st1 = new StringTokenizer(token2, ".");
int d = Integer.parseInt(st1.nextToken());
int m = Integer.parseInt(st1.nextToken()) - 1;
int y = Integer.parseInt(st1.nextToken());
// Kalender
GregorianCalendar date = new GregorianCalendar(y, m, d);
String gcal = date.getDisplayName(GregorianCalendar.DAY_OF_WEEK, Calendar.LONG, Locale.GERMAN) + ", "
+ date.get(GregorianCalendar.DAY_OF_MONTH) + "." + (date.get(GregorianCalendar.MONTH) + 1) + "."
+ date.get(GregorianCalendar.YEAR);
System.out.println("Datum: " + gcal + " - Name: " + token1);
}
bufRdr.close();
System.out.println("File existiert.");
} else {
System.out.println("File existiert nicht.");
}
}
private static void beenden() {
System.out.println("Programm beendet");
System.out.println();
}
private static void newEvent() throws IOException {
// File einlesen
File f = new File("C:\\Temp\\events.txt");
// reader für File reinschreibung
BufferedWriter out = new BufferedWriter(new FileWriter(f, true));
InputStreamReader converter = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(converter);
// Benutzereingabe
System.out.println("Geben Sie den Veranstaltungsnamen ein: ");
String vname = in.readLine();
String datum = "";
while (true) {
System.out.println("Geben Sie das Veranstaltungsdatum ein: ");
datum = in.readLine();
if (datumTesten(datum)) {
break;
} else {
System.err.println("Datum ist falsch.");
}
}
out.write(vname + ";" + datum);
out.newLine();
out.close();
}
private static boolean datumTesten(String datum) {
return false;
}
}
Zuletzt bearbeitet von einem Moderator: