Hi liebes Forum ,
ich habe mal wieder ein Problem :noe: besser gesagt Ich habe hier eine Aufgabe und habe Sie auch gelöst bekommen habe leider aber gar keine Musterlösung. Vielleicht kann ja jemand drüber schauen und sagen ob Ich die Objektorientierte Programmierung so verstanden habe.......
Hier die Aufgabe :
Sie sollen einen Kalendermanager für Nichtschaltjahre in Java modellieren. Modellieren Sie dazu Kalenderjahre und Tage durch jeweils entsprechende Klassen.
Ein Jahr ist gekennzeichnet durch eine Jahreszahl (z. B. 2010) und besitzt immer 365 Tage, die vom 1 bis 365 durchnummeriert sind.
Man kann (nur) über ein Jahr-Objekt einen neuen Termin zu einem bestimmten Tag eintragen, indem man die Tageszahl als Zahl und die Beschreibung des Termins als String angibt. Bespiel für einen Aufruf dazu wäre etwa jahr.eintragen(53, „Klausur“), wenn jahr eine Instanz eines Jahres ist. Bei unserem einfachen Kalender ist maximal ein Termin pro Tag zulässig.
Man kann über ein Jahr-Objekt weiterhin zum i-ten Tag eines Jahres abfragen, ob dieser Tag durch einen Termin belegt ist, das Resultat ist vom Typ boolean. Um einen Überblick über die terminliche Auslastung zu erhalten, ist es weiterhin möglich abzufragen, wie viele Tage für ein Kalenderjahr durch Termine insgesamt belegt sind. Halten Sie dazu die Anzahl der belegten Termine für ein Jahr in einer Instanzvariablen nach, um nicht jedesmal alle Tage auf Belegung testen zu müssen.
Erzeugen Sie zwei Kalenderobjekte für das Jahr 2010 und 2011. Tragen Sie am 29. Tag des Jahres 2010 als Termin „Klausur“ ein und am 37. Tag des Jahres 2011 als Termin „Treffen“. Fragen Sie anschließend ab, ob am 28. Tag des Jahres 2010 ein Termin vorliegt und geben das Ergebnis auf dem Bildschirm aus. Anschließend geben Sie die Gesamtzahl aller belegten Termine für die beiden Jahre (also die Summe zu den beiden Jahren) auf dem Bildschirm aus.
Meine Klasse Kalenderjahr
Hier meine Lösung :
Meine Klasse Tage
Meine Testklasse
Und hier mal meine wichtigste Frage wie kann Ich ein Objekt tage instanzieren und in der Klasse Kalenderkjahr nutzen und die Array Felder anspreche ????
ich habe mal wieder ein Problem :noe: besser gesagt Ich habe hier eine Aufgabe und habe Sie auch gelöst bekommen habe leider aber gar keine Musterlösung. Vielleicht kann ja jemand drüber schauen und sagen ob Ich die Objektorientierte Programmierung so verstanden habe.......
Hier die Aufgabe :
Sie sollen einen Kalendermanager für Nichtschaltjahre in Java modellieren. Modellieren Sie dazu Kalenderjahre und Tage durch jeweils entsprechende Klassen.
Ein Jahr ist gekennzeichnet durch eine Jahreszahl (z. B. 2010) und besitzt immer 365 Tage, die vom 1 bis 365 durchnummeriert sind.
Man kann (nur) über ein Jahr-Objekt einen neuen Termin zu einem bestimmten Tag eintragen, indem man die Tageszahl als Zahl und die Beschreibung des Termins als String angibt. Bespiel für einen Aufruf dazu wäre etwa jahr.eintragen(53, „Klausur“), wenn jahr eine Instanz eines Jahres ist. Bei unserem einfachen Kalender ist maximal ein Termin pro Tag zulässig.
Man kann über ein Jahr-Objekt weiterhin zum i-ten Tag eines Jahres abfragen, ob dieser Tag durch einen Termin belegt ist, das Resultat ist vom Typ boolean. Um einen Überblick über die terminliche Auslastung zu erhalten, ist es weiterhin möglich abzufragen, wie viele Tage für ein Kalenderjahr durch Termine insgesamt belegt sind. Halten Sie dazu die Anzahl der belegten Termine für ein Jahr in einer Instanzvariablen nach, um nicht jedesmal alle Tage auf Belegung testen zu müssen.
Erzeugen Sie zwei Kalenderobjekte für das Jahr 2010 und 2011. Tragen Sie am 29. Tag des Jahres 2010 als Termin „Klausur“ ein und am 37. Tag des Jahres 2011 als Termin „Treffen“. Fragen Sie anschließend ab, ob am 28. Tag des Jahres 2010 ein Termin vorliegt und geben das Ergebnis auf dem Bildschirm aus. Anschließend geben Sie die Gesamtzahl aller belegten Termine für die beiden Jahre (also die Summe zu den beiden Jahren) auf dem Bildschirm aus.
Meine Klasse Kalenderjahr
Hier meine Lösung :
Java:
public class Kalenderjahr {
public int anzahl = 0;
public int jahresanzahl;
// Nachfragen Felder sehr wichtig // Tage tag;
String[] tage;
Tage tag;
public Kalenderjahr(int jahr) {
this.jahresanzahl = jahr;
// tag = new Tage(); // HIER KOMME ICH NICHT WEITER WIE KANN ICH EINEN ARRAY
// Objekt Instanzieren und hier ansprechen also den Index
tage = new String[366];
for (int i = 0; i < tage.length; i++) {
tage[i] = "";
}
// tag = new Tage(); // Anlegen eines neuen Objektes und erzeugen und
// aufrufen.
}
public void terminEintragen(int termin, String s) {
tage[termin] = s;
anzahl++;
}
public boolean abfrageTermin(int t) {
String angfrage = tage[t];
if (angfrage.length() > 0) {
System.out.println("Am" + t + "Tag ist bereits ein Termin");
return true;
} else
System.out.println("Am" + t + "Tag ist kein Termin");
return false;
}
public String getInhalt(int tag) {
String s;
s = tage[tag];
return s;
}
}
Meine Klasse Tage
Java:
public class Tage {
String [] tage;
public Tage() {
tage = new String[366];
for (int i = 0; i < tage.length; i++) {
tage[i] = "";
}
}
}
Meine Testklasse
Java:
public class TestKlasse {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Kalenderjahr j1 = new Kalenderjahr(2010);
j1.terminEintragen(50, "Hallo");
j1.abfrageTermin(50);
j1.terminEintragen(51, "");
j1.abfrageTermin(51);
Kalenderjahr j2 = new Kalenderjahr(2012);
j2.terminEintragen(50, "Hall2");
j2.abfrageTermin(50);
System.out.println(j2.getInhalt(50));
}
}
Und hier mal meine wichtigste Frage wie kann Ich ein Objekt tage instanzieren und in der Klasse Kalenderkjahr nutzen und die Array Felder anspreche ????
Zuletzt bearbeitet von einem Moderator: