Terminverwaltung

forsti222

Mitglied
Ich soll für die Uni folgende Struktur verwenden um eine Terminverwaltung zu realisieren nur hab ich leider keine Ahnugn wie ich an einen Array eine Liste anhängen kann. Bitte um Hilfe
Eine Klasse MeetingSchedule dient zur Verwaltung der Termine eines Jahres und soll fu?r jeden Tag eines Jahres eine Liste von Terminen nach der Zeit aufsteigend sortiert speichern ko?nnen. Es soll mo?glich sein, neue Termine hinzuzufu?gen, Termine zu lo?schen und auf die Termine eines Tages zuzugreifen. Implementieren Sie eine lineare Liste fu?r die Verwaltung der Termine eines Tages. Verwenden Sie am besten ein Array der La?nge 365 (bzw. 366 fu?r Schaltjahre) fu?r die Speicherung der Listen fu?r die einzelnen Tage. Die folgende Abbildung zeigt schematisch diese Speicherstruktur.
012333 364365
..List
head

Node
next meeting

Node
next meeting
.
 
Hallo,

du musst dir einfach eine Array von List erstellen. Das funktioniert genau so wie bei int oder allem anderen.

Code:
List[] lists = new List[365];

So kannst du dann in jedes Feld eine Liste legen.

Gruß

Sascha
 
hättest du vielleicht eine ausführlichere Lösung mit einem konkreten Beispiel, schaffe es nämlich nicht dies korrekt zu implementieren :(

Vielleicht auf meine Aufgabe bezogen
 
Ok, ich sehe das ist doch nicht so korrekt.

Was genau möchtest du wissen?
Wenn ich dir ein konkretes Beispiel fertig mache, ist bereits die halbe Aufgabe gelöst.
Hast du vielleicht schon etwas Code?

Gruß

Sascha
 
mein Versuch einstweilen wäre mal so gewesen:

Java:
package calender;
import inout.*;
import java.util.*;


import datetime.DateTimeUtil;
public class MeetingSchedule {
	final int year = 2008;
	//String[] dayyear = new String[DateTimeUtil.nrDaysInYear(year)];
	List[] lists = new List[DateTimeUtil.nrDaysInYear(year)];//365 bzw 366 einlesen
	public void addDate (Meeting meeting) {
		
		lists[0].add(0,meeting);
		lists[0].add(1,"Hey");
		Out.println(lists[0].size());
	}
	List[] getlist()
	{
		return lists;
	}
}
Java:
package calender;
import datetime.*;

public class Meeting {
	Time starttime;
	Time endtime;
	Time duration;
	String description;

	Meeting(Time starttime, Time duration, String description) {
		this.starttime = starttime;
		this.duration = duration;
		this.description = description;
	//	this.endtime = (Time) (starttime.getHour() + duration.getHour(),starttime.getMin() + duration.getMin());
	}
	public Time getStarttime() {
		return starttime;
	}
	public Time getduration() {
		return duration;
	}
	public String getdescription(){
		return description;
	}
	//public String toString(){
	//	return 
	//}
}
Nur bei mir klappts nicht das ich die Liste irgendwie befülle das ist einstweilen mein problem eben, falls ich da füllen könnte komm ich sicher weiter...
 
List ist ein Interface, im ersten Schritt sagst du nur, dass das Array eine Größe von 365 oder 366 haben soll. Soweit so gut. Die einzelnen Elemente des Arrays jedoch besitzen noch keine Instance, d.h. diese müsstest du noch hinzufügen. Standardmäßig von Java implementieren folgende Klassen das Interface List: AbstractList, ArrayList, LinkedList, Vector (siehe http://download.oracle.com/javase/1.4.2/docs/api/java/util/List.html)

Entweder du durchläufst zu beginn jedes Element (dringend empfohlen, aufgrund der Ausgabe und anderem Handling!), oder du überprüfst die Instances zur Laufzeit (siehe Beispiel mit ArrayList)

Java:
if(lists[index] instanceof ArrayList) {} //schön, existiert bereits
else { lists[index] = new ArrayList(); } //oh, neue Instance genieren
lists[index].add(meeting); //Meeting hinzufügen
 
List ist ein Interface, im ersten Schritt sagst du nur, dass das Array eine Größe von 365 oder 366 haben soll. Soweit so gut. Die einzelnen Elemente des Arrays jedoch besitzen noch keine Instance, d.h. diese müsstest du noch hinzufügen. Standardmäßig von Java implementieren folgende Klassen das Interface List: AbstractList, ArrayList, LinkedList, Vector (siehe http://download.oracle.com/javase/1.4.2/docs/api/java/util/List.html)

Entweder du durchläufst zu beginn jedes Element (dringend empfohlen, aufgrund der Ausgabe und anderem Handling!), oder du überprüfst die Instances zur Laufzeit (siehe Beispiel mit ArrayList)

Java:
if(lists[index] instanceof ArrayList) {} //schön, existiert bereits
else { lists[index] = new ArrayList(); } //oh, neue Instance genieren
lists[index].add(meeting); //Meeting hinzufügen

Ich denke nicht, dass er die fertigen Listen nutzen soll, sondern sich selbst eine Lineare Liste bauen soll.

Ich schau mir das gleich alles an.
 
Zurück