Projekte + Datum + löschen

DaSt

Bekanntes Mitglied
Hallo,

eine ähnliche Aufgabe war vor ein paar Jahren mal in der Prüfung dran und unser Prof hat sie nun etwas (zur Übung abgeändert)

Es gibt Projekte, die ein Enddatum besitzen. Erstellen Sie eine Liste von 10 Projekten die ein "zufälliges" Enddatum (max. 50 Jahre in der Zukunft) besitzen. Löschen Sie nun alle Projekte aus dieser Liste, die weiter als 20 Jahre vom heutigen Tag an in der Zukunft liegen und geben Sie anschließend aus wie viele gelöscht wurden.

class Projekte
Java:
public class Projekte {
   // Enddatum des Projektes
   private GregorianCalendar end = new GregorianCalendar();
   
   public GregorianCalendar getEnd() {
     return end;
   }
   public void setEnd(GregorianCalendar end) {
     this.end = end;
   }
   
}

main
Java:
public static void main(String[] args) {

     List <Projekte> list = new ArrayList<Projekte>();
     
     erstellen(list);
     ausgabe(list);
     löschen(list);
     
     
     
   }
   
   //Liste erstellen
   public static void erstellen(List <Projekte> list){
     
     for(int i=0; i<10; i++){
       Projekte p = new Projekte();
       
       Random rnd = new Random();
       int x =0;
       x=1+rnd.nextInt(50);
       p.getEnd().add(Calendar.YEAR, x);
       list.add(p);
       
     }
   }
   
   //ausgabe der Liste
   public static void ausgabe(List <Projekte> list){
     
     SimpleDateFormat sdf = new SimpleDateFormat("YYYY");
     for(Projekte current : list){
       System.out.println(sdf.format(current.getEnd().getTime()));
     }
   }
   
   
   public static void löschen(List <Projekte> list){
     
     SimpleDateFormat sdf = new SimpleDateFormat("YYYY");
     
     GregorianCalendar gcal = new GregorianCalendar();
     gcal.add(Calendar.YEAR, 20);
     
     System.out.println();
     System.out.println("Alles nach dem Jahr "+ sdf.format(gcal.getTime())+ " wird gelöscht ");
     System.out.println();
     
     int counter =0; //Variable für die Anzahl der gelöschten Elemente
     
     //Liste von hinten nach vorne durchgehen
     for(int i=list.size()-1; i>=0; i--){
       
       //Wenn das Enddatum eines Projektes nach dem oben gesetzten Datum ist, dann löschen
       if(list.get(i).getEnd().after(gcal)){
         System.out.println(sdf.format(list.get(i).getEnd().getTime())+ " wurde gelöscht ");
         list.remove(i);
         counter++;
       }
     }
     
     System.out.println();
     System.out.println("Insgesamt wurden "+counter+" Datensätze gelöscht ");
         
   }

Es wird nicht gelöscht
Ausgabe sieht so aus
Code:
2029
2023
2036
2028
2020
2017
2030
2022
2022
2035

Alles nach dem Jahr 2036 wird gelöscht


Insgesamt wurden 0 Datensätze gelöscht

Wieso wird nichts gelöscht?? Danke
 

DaSt

Bekanntes Mitglied
sry. hatte rumgespielt und oben auch aus versehen 20 drin stehten... aber auch wenn ich die Projekte weiter in die Zukunft setze wird nichts gelöscht.

Code:
2046
2039
2020
2021
2057
2057
2048
2058
2032
2039

Alles nach dem Jahr 2036 wird gelöscht

Insgesamt wurden 0 Datensätze gelöscht

@Mr Brown
nein - nur die verbale Beschreibung
 

Viktim

Bekanntes Mitglied
Ich hab das ganze mal in Eclipse ausprobiert, und das hier war meine Ausgabe:
Code:
2026
2043
2057
2040
2037
2035
2054
2058
2018
2039

Alles nach dem Jahr 2036 wird gelöscht

2039 wurde gelöscht
2058 wurde gelöscht
2054 wurde gelöscht
2037 wurde gelöscht
2040 wurde gelöscht
2057 wurde gelöscht
2043 wurde gelöscht

Insgesamt wurden 7 Datensätze gelöscht

Funktioniert bei mir also o.o :D
 

Viktim

Bekanntes Mitglied
Ich hab aber auch ein bisschen was geändert... Vilt klappts jetzt :D
Java:
  public static void main(String[] args) {

    List<Projekt> projekte = projekteErstellen();
    ausgabe(projekte);
    loeschen(projekte);

  }

  public static List<Projekt> projekteErstellen() {
    List<Projekt> list = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
      Projekt projekt = new Projekt();

      Random random = new Random();
      int jahr = 1 + random.nextInt(50);

      projekt.getEndDatum().add(Calendar.YEAR, jahr);
      list.add(projekt);

    }
    return list;
  }

  // ausgabe der Liste
  public static void ausgabe(List<Projekt> list) {

    SimpleDateFormat nurJahreFormatierer = new SimpleDateFormat("YYYY");
    System.out.println("Projekt Endzeitpunkte:\n");
    for (Projekt projekt : list) {
      System.out
          .println(list.indexOf(projekt) + 1 + ".)\t" + nurJahreFormatierer.format(projekt.getEndDatum().getTime()));
    }
  }

  public static void loeschen(List<Projekt> list) {

    SimpleDateFormat nurJahreFormatierer = new SimpleDateFormat("YYYY");

    GregorianCalendar datumIn20Jahren = new GregorianCalendar();
    datumIn20Jahren.add(Calendar.YEAR, 20); // füge 20 Jahre hinzu

    System.out.println(
        "\nAlles nach dem Jahr " + nurJahreFormatierer.format(datumIn20Jahren.getTime()) + " wird gelöscht \n");

    int geloeschteElemente = 0;

    // Liste von hinten nach vorne durchgehen
    for (int i = list.size() - 1; i >= 0; i--) {

      // Wenn das Enddatum eines Projektes nach dem oben gesetzten Datum ist, dann löschen
      if (list.get(i).getEndDatum().after(datumIn20Jahren)) {
        System.out.println(nurJahreFormatierer.format(list.get(i).getEndDatum().getTime()) + " wurde gelöscht ");
        list.remove(i);
        geloeschteElemente++;
      }
    }

    System.out.println("\nInsgesamt wurden " + geloeschteElemente + " Datensätze gelöscht ");

  }

Java:
public class Projekt {
  // Enddatum des Projektes
  private GregorianCalendar endDatum = new GregorianCalendar();

  public GregorianCalendar getEndDatum() {
    return endDatum;
  }

  public void setEndDatum(GregorianCalendar date) {
    this.endDatum = date;
  }

}
 
Zuletzt bearbeitet:

DaSt

Bekanntes Mitglied
Habe Eclipse geschlossen,das Projekt gelöscht und nochmals erstellt. Mit 1 zu 1 dem selben code wie in meinem ersten Post und nun gehts:eek::eek:..Scheiss Eclipse
 

Viktim

Bekanntes Mitglied
Habe Eclipse geschlossen,das Projekt gelöscht und nochmals erstellt. Mit 1 zu 1 dem selben code wie in meinem ersten Post und nun gehts:eek::eek:..Scheiss Eclipse
Verrückt :D
Du kannst dir meine Änderunge ja trotzdem mal angucken :) (also auf wenns funktioniert :D)
ich hab eigetnlich nur namen verändert und ein bisschen was umgestellt, damit mans besser versteht :D
 

TheBohne

Aktives Mitglied
Wenn so etwas auftritt einfach mal auf Projekt -> clean... und danach Projekt -> Build all

Eclipse spinnt da ab und zu rum und baut aus welchen Gründen auch immer das Projekt nach Änderungen nicht neu.
 

DaSt

Bekanntes Mitglied
Verrückt :D
Du kannst dir meine Änderunge ja trotzdem mal angucken :) (also auf wenns funktioniert :D)
ich hab eigetnlich nur namen verändert und ein bisschen was umgestellt, damit mans besser versteht :D

Hab ich gemacht und es ist korrekt glaufen... deswegen hab ich mir ja gedacht, da das fast das selbe ist, dass ich mein Projekt einfach nochmal lösche und alles neu anlege...
 

Viktim

Bekanntes Mitglied
Hab ich gemacht und es ist korrekt glaufen... deswegen hab ich mir ja gedacht, da das fast das selbe ist, dass ich mein Projekt einfach nochmal lösche und alles neu anlege...
Okay :D
Ist auch wirklich fast das selbe, ich wollte bloß die Variablen sprechender benennen, damit wenn man sich das anguckt nicht erstmal rätesln muss, was war nochmal x??? :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
Kotelettklopfer Mehrere Projekte in einem Git verwalten Java Basics - Anfänger-Themen 10
C Projekte in 2 versch. Arbeitsbereichen: auf ein Projekt verweisen (ohne Fehler zu bekommen) Java Basics - Anfänger-Themen 8
O Ideen für kleinere Projekte um Java zu lernen Java Basics - Anfänger-Themen 1
MiMa Klassen in Projekte wiederverwenden ?? (Netbeans IDE) Java Basics - Anfänger-Themen 8
T Erste Schritte Darstellung der Java-Projekte in Eclipse Java Basics - Anfänger-Themen 2
snipesss Eclipse Neon findet meine Projekte nicht? Java Basics - Anfänger-Themen 1
A Erste Schritte Vieschiedene Java versionen für verschiedne Programme/Projekte Java Basics - Anfänger-Themen 3
L Beispiel Projekte Java Basics - Anfänger-Themen 3
A geeignete Java-Projekte für Schüler (Einsteiger) Java Basics - Anfänger-Themen 28
G Projekte importieren und andere Fragen Java Basics - Anfänger-Themen 3
D Javadoc für Packages oder ganze Projekte Java Basics - Anfänger-Themen 5
A Projekte Java Basics - Anfänger-Themen 7
K Input/Output Verschiedene Ordner für Java u.v.m. Projekte Java Basics - Anfänger-Themen 3
D Java-Projekte importieren Java Basics - Anfänger-Themen 6
E Erste Schritte Eclipse kompiliert alle Projekte im Workspace Java Basics - Anfänger-Themen 10
X Klassen Klassen in Projekte einbinden mit Eclipse Java Basics - Anfänger-Themen 6
K Gelöschte Projekte nicht neu anlegbar Java Basics - Anfänger-Themen 3
M tomcat Projekte und geschützte Dateien Java Basics - Anfänger-Themen 9
S Alle Projekte fehlen bei Eclipse ??? Java Basics - Anfänger-Themen 3
H Große Projekte mit Java - Ausführbare Datei Java Basics - Anfänger-Themen 2
S Irgendwie kann ich meine Eclipse Projekte nicht mehr veraendern..? Java Basics - Anfänger-Themen 5
G Referenzierte Projekte: java.lang.NoClassDefFoundError Java Basics - Anfänger-Themen 2
G Projekte referenzieren Java Basics - Anfänger-Themen 5
C Projekte in Jar-Datei einbinden Java Basics - Anfänger-Themen 2
M wie kann ich meine Projekte auf einen stick speichern? Java Basics - Anfänger-Themen 6
G 2 Projekte vereinen Java Basics - Anfänger-Themen 2
J JBuilder-Projekte als exe? Java Basics - Anfänger-Themen 6
C Darstellung von Datum - Codes richtig? Java Basics - Anfänger-Themen 2
L Datum - Monat und Jahr werden falsch angezeigt Java Basics - Anfänger-Themen 4
T Datum als Variable wert Java Basics - Anfänger-Themen 4
T Datum in die als Variabelwert Java Basics - Anfänger-Themen 5
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
S Algorithmus entwicklen, der zu einem gegebenen Datum die Jahreszeit ermittelt Java Basics - Anfänger-Themen 13
berserkerdq2 Wie datum im default format speichern? Java Basics - Anfänger-Themen 5
W Methode, die mit einem Datum arbeitet? Java Basics - Anfänger-Themen 22
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
K Datum einlesen und Tag, Monat und Jahr einzeln ausgeben Java Basics - Anfänger-Themen 1
J Datum ermitteln ? Java Basics - Anfänger-Themen 14
KogoroMori21 Java Datum Differenz (kleiner Fehler) Java Basics - Anfänger-Themen 10
J JDatePicker: Datum wird nicht in Textfeld übernommen Java Basics - Anfänger-Themen 5
N Zwei Daten (Datum) miteinander vergleichen, abspeichern, laden Java Basics - Anfänger-Themen 4
N Ein Datum berechnen Java Basics - Anfänger-Themen 3
T Datum und Uhrzeit Java Basics - Anfänger-Themen 4
B Liste von Tagen generieren ab einem bestimmten Datum und Endedatum Java Basics - Anfänger-Themen 4
B Datum in dieser Range SQL? Java Basics - Anfänger-Themen 3
F Ein Datum (int) durch Methode als String formatieren Java Basics - Anfänger-Themen 2
D Kontoauszüge von bestimmtem Datum Java Basics - Anfänger-Themen 35
B Termine (Datum erstellen), Abhängig von Intervallen Java Basics - Anfänger-Themen 0
A Nächstes Datum ausgeben, if-Schleife unklar Java Basics - Anfänger-Themen 6
J Best Practice Datum Differenz aus zwei Strings ermitteln Java Basics - Anfänger-Themen 8
Bluedaishi Datum in Jtextarea füllen Java Basics - Anfänger-Themen 5
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
S Datum umformatieren Java Basics - Anfänger-Themen 2
D Datum aus Swing in MySQL DB speichern Java Basics - Anfänger-Themen 22
F LimitedQueue auf Datum prüfen Java Basics - Anfänger-Themen 6
T Datum wird auf der Konsole richtig ausgegeben, aber im Textarea kommt ERROR Java Basics - Anfänger-Themen 8
M Datum serialisieren Java Basics - Anfänger-Themen 1
S Datum einlesen Java Basics - Anfänger-Themen 1
D Aktuelles Datum wird falsch ausgegeben Java Basics - Anfänger-Themen 2
K Methoden Datum parsen Java Basics - Anfänger-Themen 16
C JList Einträge nach Datum sortieren Java Basics - Anfänger-Themen 3
MiMa Jüngstes Datum ermitteln Java Basics - Anfänger-Themen 4
2 Uhrzeit und Datum aktualisieren Java Basics - Anfänger-Themen 12
R Problem beim Wochenplan (Datum,Wochentag) Java Basics - Anfänger-Themen 30
O Datum-Werte gruppieren Java Basics - Anfänger-Themen 6
J Java Datum- Zeit Differenz bilden! Java Basics - Anfänger-Themen 4
M Methoden Aus Timestamp das Datum berechnen Java Basics - Anfänger-Themen 3
B Kontoauszug mit Datum ausgeben Java Basics - Anfänger-Themen 4
M Datum in Millisekunden allerdings ohne Uhrzeit Java Basics - Anfänger-Themen 4
DeVolt Java8 Paket Time: Datum prüfen / try-catch Java Basics - Anfänger-Themen 1
T Datum mit einem Datums-Bereich vergleichen Java Basics - Anfänger-Themen 10
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
L Aus Datum Millisekunden ermitteln ohne Zeitzonen-Berücksichtigung Java Basics - Anfänger-Themen 6
P Wieviele Tage seit dem Datum vergangen sind Java Basics - Anfänger-Themen 5
P Liste nach Datum sortieren Java Basics - Anfänger-Themen 7
B tageszahl in Datum umrechnen Java Basics - Anfänger-Themen 6
F Datum Differenz berechnen Java Basics - Anfänger-Themen 7
B String in Datum Java Basics - Anfänger-Themen 3
M CompareTo soll Datum sortieren Java Basics - Anfänger-Themen 2
K Daten (im Sinne von Datum) aus Webseiten extrahieren Java Basics - Anfänger-Themen 6
AssELAss String in Datum umwandeln Java Basics - Anfänger-Themen 4
I Datum und Uhrzeitpattern von Locale Java Basics - Anfänger-Themen 7
H Wie wandel ich ein Datum in eine Zeichenkette um mit StringBuffer? Java Basics - Anfänger-Themen 3
I Datum ohne GregorianCalendar und co. Java Basics - Anfänger-Themen 3
A Datum zwischen zwei Daten berechnen und in Tagen anzeigen Java Basics - Anfänger-Themen 4
N Datum abgleichen und Frage zum Layout Java Basics - Anfänger-Themen 3
D Wochentag für eingegebenes Datum bestimmen anhand von Formel Java Basics - Anfänger-Themen 2
E Zeit zum bestimmten Datum in millisekunden berechnen Java Basics - Anfänger-Themen 5
M Aktuelles Datum in MySQL speichern Java Basics - Anfänger-Themen 11
P Datum umwandeln Java Basics - Anfänger-Themen 5
A Datum formatieren Java Basics - Anfänger-Themen 6
K Samstag einer Woche anhand eines Datum Java Basics - Anfänger-Themen 3
J Mit Datum rechnen Java Basics - Anfänger-Themen 11
B Datum ändern? Java Basics - Anfänger-Themen 8
Tally Methoden BlueJ - Datum als Kalendertag int - tagImJahr Java Basics - Anfänger-Themen 6
K wie Datum in JTable anders anzeigen lassen Java Basics - Anfänger-Themen 2
B Differenz von 2 Datum Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben