Hallo zusammen,
aus Übungszwecken bin ich gerade dabei eine Aufgaben- und Terminverwaltung zu implementieren.
Das Programm soll es ermöglichen, Aufgaben und Termine sowohl nach der Dauer(ShortestJobFirst) und nach der Priorität zu sortieren.
Ich dachte daran die AufgabenObjekte in eine ArrayList zu stecken und sie dann mit Compareable zu vergleichen. Dies funktioniert für ein Attribut auch gut allerdings habe ich keine Ahnung wie ich die Alternativsortierung gestalten soll.
Für Denkanstöße wäre ich sehr dankbar
Klasse Aufgabe:
Klasse Aufgabenverwaltung
Viele Güße,
Daniel Siebert
aus Übungszwecken bin ich gerade dabei eine Aufgaben- und Terminverwaltung zu implementieren.
Das Programm soll es ermöglichen, Aufgaben und Termine sowohl nach der Dauer(ShortestJobFirst) und nach der Priorität zu sortieren.
Ich dachte daran die AufgabenObjekte in eine ArrayList zu stecken und sie dann mit Compareable zu vergleichen. Dies funktioniert für ein Attribut auch gut allerdings habe ich keine Ahnung wie ich die Alternativsortierung gestalten soll.
Für Denkanstöße wäre ich sehr dankbar
Klasse Aufgabe:
Java:
public class Aufgabe extends Task implements Comparable<Aufgabe> {
private int priorität = 5;
private int erwarteteDauer;
public Aufgabe(String titel, String beschreibung, Kategorie typ,
int priorität, int erwarteteDauer) {
super(titel, beschreibung, typ);
this.priorität = priorität;
this.erwarteteDauer = erwarteteDauer;
}
public int getPriorität() {
return priorität;
}
public void setPriorität(int priorität) {
this.priorität = priorität;
}
public int getErwarteteDauer() {
return erwarteteDauer;
}
public void setErwarteteDauer(int erwarteteDauer) {
this.erwarteteDauer = erwarteteDauer;
}
public int compareTo(Aufgabe aufgabe){
return ((Integer)this.getPriorität()).compareTo((Integer)aufgabe.getPriorität());
}
}
Klasse Aufgabenverwaltung
Java:
import java.util.ArrayList;
import java.util.Collections;
public class TerminAufgabenVerwaltung {
ArrayList<Aufgabe> meineAufgaben = new ArrayList<Aufgabe>();
ArrayList<Termin> meineTermine = new ArrayList<Termin>();
public void fuegeAufgabeHinzu (String titel, String beschreibung, Kategorie typ, int priorität, int erwarteteDauer){
Aufgabe a = new Aufgabe(titel, beschreibung, typ, priorität, erwarteteDauer);
meineAufgaben.add(a);
}
public void fuegeTerminHinzu (String titel, String beschreibung, Kategorie typ, String beginnzeitpunkt, String endzeitpunkt, String erwarteteDauer){
Termin a = new Termin(titel,beschreibung,typ, beginnzeitpunkt, endzeitpunkt, erwarteteDauer);
meineTermine.add(a);
}
public void aufgabenPriorität(){
Collections.sort(meineAufgaben);
Collections.reverse(meineAufgaben);
}
}
Viele Güße,
Daniel Siebert