Kalenderabfrage

Panda9296

Bekanntes Mitglied
Hi und zwar möchte ich eine Gefrierschrankverwaltung programmieren und habe eine Klasse Produkte und ein enum Producttyp. Das Enum hat also Produkttypen mit einem int Wert (Haltbarkeit) gespeichert. Jetzt kommt das interessante. Jedes mal wenn ich ein Produkt hinzufüge, möchte ich das aktuelle Datum einlesen. Dieses Datum wird also gespeichert mit dem Objekt und ich möchte die vorher festgelegte Haltbarkeit monat für monat abziehen bis diese bei null ist und dann eine Warnung ausgeben, dass das Produkt abläuft. Ich weiß nur nicht genau wie weil ich mit einem Kalender noch nicht gearbeitet habe:

Code:
package de.projectOne.FrozzenList.miguel.gutierrez.java;

import java.text.DateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;


public enum Producttyp {

    porkLargePiece(6),porkshortPiece(3),beefLargePiece(10),veal(9),poultry(10),MincedMeat(1),fish(3),vegetable(8),fruit(9),pastries(10),Sauces(3),soup(3),ice(36),other(3);

    int durabilityMonth;
    
    Producttyp(int durabilityMonth) {
        this.durabilityMonth=durabilityMonth;
    }
    static DateTimeFormatter formatDateTime() {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter df;
        df= DateTimeFormatter.BASIC_ISO_DATE;
        df= DateTimeFormatter.ISO_LOCAL_DATE;
        df= DateTimeFormatter.ISO_DATE_TIME;
        df = DateTimeFormatter.ofPattern("dd.MM.yyyy kk:mm");
        return df;
    }
    
    
}

dieser Produkttyp wird dann in Produkte als Attribut gespeichert und das Produkt landet in einer Liste im Fach also eine ArrayList<Produkte> in der Klasse Fach. Jedes Fach soll also so eine Liste haben die die Zeiten, selbst wenn es sich um das selbe Produkt handelt seperat speichert. Sozusagen ist jedes Fach für sich isoliert. Deswegen dachte ich ich mache das mit dem Datum gleich im Enum.. aber wiegesagt ich habe damit noch nicht gearbeitet und finde es deshalb ganz interessant
 

MoxxiManagarm

Top Contributor
Dieses Datum wird also gespeichert mit dem Objekt und ich möchte die vorher festgelegte Haltbarkeit monat für monat abziehen
Das kann so nicht funktionieren. Wenn du von einem Datum irgendwelche Monate abziehst wirt du nicht glücklich. Du hast 2 Möglichkeiten:
1. Du speicherst eine Restzeit. Diese ist initial der Wert aus dem Enum. Diese Restzeit ist entweder ein ganz normaler Zahlenwert ODER eine Duration. https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/Duration.html
2. Du speicherst das Gefrierdatum und vergleichst das Gefriederdatum + die Haltbarkeit mit dem Datum an dem du das Produkt betrachtest. Du ziehst hier aber keine Monate ab.
 

Neue Themen


Oben