hallo erstma,
bin noch neu hier im forum also hab bißchen rücksicht ^^.
ich beschäftige mich mit java schon seit 2 jahren, aber bin immer noch kein profi, bzw. bin noch anfäger. Wollte mich ma in diesem monat, da wir schon fast weinachten haben und ich 1 monat urlaub habe, richtig beschäftigen.
Also ich hab folgendes problem ich schaffe die swtich anweisung nicht inder Klasse WochenkalenderUI (Termin löschen : 4)
hier ist noch die klasse Wochenkalender
und die main-klasse
ganz einfachen gesagt ich sitzte seit 2 std und hab keinen plan. ich bedanke mich schon in voraus "DANKE".
bin noch neu hier im forum also hab bißchen rücksicht ^^.
ich beschäftige mich mit java schon seit 2 jahren, aber bin immer noch kein profi, bzw. bin noch anfäger. Wollte mich ma in diesem monat, da wir schon fast weinachten haben und ich 1 monat urlaub habe, richtig beschäftigen.
Also ich hab folgendes problem ich schaffe die swtich anweisung nicht inder Klasse WochenkalenderUI (Termin löschen : 4)
Java:
import java.util.*;
public class WochenkalenderUI
{
// Objektattribute
private Scanner sc;
private Wochenkalender derKalender;
// Konstruktor
public WochenkalenderUI()
{
sc = new Scanner(System.in);
derKalender = new Wochenkalender();
}
// Hilfsmethoden zum Einlesen von Tastatur mit Überprüfung
private int einlesenInt(String text, int min, int max)
{
int ergebnis;
do
{
// Text für Benutzer ausgeben
System.out.println(text);
ergebnis = sc.nextInt();
} while (ergebnis < min || ergebnis > max);
return ergebnis;
}
private String einlesenString(String text)
{
String ergebnis;
System.out.println(text);
ergebnis = sc.next();
return ergebnis;
}
// Methode zur formatierten Ausgabe des Wochenkalenders
private void ausgeben()
{
System.out.println(" Mo Di Mi Do Fr Sa So");
for (int stunde = 0; stunde < 24; stunde++)
{
if (stunde < 10)
System.out.print(" ");
System.out.print(stunde + " ");
for (int tag = 1; tag <= 7; tag++)
{
// Darstellung des Termins auf 12 Zeichen zurechtschneiden
String eintrag = derKalender.abfragenTermin(tag, stunde) + " ";
System.out.print(eintrag.substring(0,11)+" ");
}
System.out.println();
}
System.out.println();
}
// Methode zum Starten der Benutzerinteraktion
public void start()
{
int aktion;
int tag, vonStunde, bisStunde , stunde = 0;
String eintrag;
do
{
System.out.println("Welche Aktion wollen Sie durchführen?");
System.out.println("1) Termin eintragen");
System.out.println("2) Langtermin eintragen");
System.out.println("3) SerienTermin eintragen");
System.out.println("4) Termin entfernen");
System.out.println("5) Kalender darstellen");
System.out.println("sonst: Beenden");
aktion = sc.nextInt();
switch(aktion)
{
case 1:
tag = einlesenInt("Bitte Tag eingeben (1-7)", 1, 7);
vonStunde = einlesenInt("Bitte Stunde eingeben (0-23)", 0, 23);
eintrag = einlesenString("Bitte Eintrag eingeben");
derKalender.eintragenTermin(tag, vonStunde, eintrag);
break;
case 2:
tag = einlesenInt("Bitte Tag eingeben (1-7)", 1, 7);
System.out.println("von Stunde");
vonStunde = einlesenInt("Bitte Stunde eingeben (0-23)", 0, 23);
System.out.println("bis Stunde");
bisStunde = einlesenInt("Bitte Stunde eingeben (0-23)", 0, 23);
eintrag = einlesenString("Bitte Eintrag eingeben");
derKalender.eintragenLangtermin(tag, vonStunde, bisStunde, eintrag);
break;
case 3:
vonStunde = einlesenInt("Bitte Stunde eingeben (0-23)", 0, 23);
eintrag = einlesenString("Bitte Eintrag eingeben");
derKalender.eintragenSerientermin(vonStunde, eintrag);
break;
case 4:
tag = einlesenInt("Bitte Tag eingeben (1-7)", 1, 7);
vonStunde = einlesenInt("Bitte Stunde eingeben (0-23)", 0, 23);
eintrag = einlesenString("Bitte Eintrag eingeben"); // TO-DO
derKalender.entfernenTermin( tag , stunde);
break;
case 5:
ausgeben();
break;
}
} while (1 <= aktion && aktion <= 5);
}
hier ist noch die klasse Wochenkalender
Java:
public class Wochenkalender
{
// Klassenkonstanten
private final static String leer = "";
private final static int ANZ_TAGE = 7;
private final static int ANZ_STUNDEN = 24;
// Objektattribut
private String[][] dieEintraege;
// Konstruktor
public Wochenkalender()
{
/*
* die Tage zählen von 1-7; die Stunden von 0-23;
* Mit die Eintraege[7][0] wird auf den 7.Tag Stunde 0
* zugegriffen. Dazu benötigt man ein Index 7 für den Tag,
* also ein Feld der Länge 8:
*/
dieEintraege = new String[ANZ_TAGE+1][ANZ_STUNDEN];
for (int tag = 1; tag <= ANZ_TAGE; tag++)
for (int stunde = 0; stunde < ANZ_STUNDEN; stunde++)
{
dieEintraege[tag][stunde] = leer;
}
}
// Methoden
public void eintragenTermin(int tag, int stunde, String eintrag)
{
if (1 <= tag && tag <= ANZ_TAGE && 0 <= stunde && stunde < ANZ_STUNDEN)
dieEintraege[tag][stunde] = eintrag;
}
public void eintragenLangtermin(int tag, int vonStunde, int bisStunde, String eintrag)
{
for (int stunde = vonStunde; stunde <= bisStunde; stunde++)
eintragenTermin(tag, stunde, eintrag);
}
public void eintragenSerientermin(int stunde, String eintrag)
{
for (int tag = 1; tag <= ANZ_TAGE; tag++)
eintragenTermin(tag, stunde, eintrag);
}
public void entfernenTermin(int tag, int stunde)
{
eintragenTermin(tag, stunde, leer);
}
public String abfragenTermin(int tag, int stunde)
{
String ergebnis;
if (1 <= tag && tag <= ANZ_TAGE && 0 <= stunde && stunde < ANZ_STUNDEN)
ergebnis = dieEintraege[tag][stunde];
else
ergebnis = leer;
return ergebnis;
}
}
Java:
public class Wochenkalendertest
{
public static void main(String[] args)
{
WochenkalenderUI ui = new WochenkalenderUI();
ui.start();
}
}
ganz einfachen gesagt ich sitzte seit 2 std und hab keinen plan. ich bedanke mich schon in voraus "DANKE".