Hallo Java Community,
könnt ihr mir bitte Helfen ?
Im Enum Priority, habe ich folgende Konstanten hinzugefügt:
STANDARD, EXPRESS, EARLY_MORNING, EVENING
Im Enum TransportService habe ich folgende Konatanten hinzugefügt: TRANSPORT_INSURANCE, REDIRECTION, PREFERRED_DAY, CASH_ON_DELIVERY
Und zwar geht es um folgende Aufgabe.
Letter: Implementieren Sie alle geforderten Methoden.
Bei einem Brief soll eine nachträgliche Änderung des Empfängers nicht möglich sein, die entsprechende Methode soll die Lieferung also nie verändern und stets false zurückgeben.
Fügen Sie außerdem einen zusätzlichen Konstruktor ein, bei dem zusätzlich eine Priorität übergeben werden kann.
Versuchen Sie durch geschickte Aufrufe so wenig Quelltext wie möglich zu duplizieren.
Der bisherige Konstruktor soll Briefe mit Standardpriorität erzeugen.
Ich habe es folgender maßen versucht.
lG
Louis
könnt ihr mir bitte Helfen ?
Im Enum Priority, habe ich folgende Konstanten hinzugefügt:
STANDARD, EXPRESS, EARLY_MORNING, EVENING
Im Enum TransportService habe ich folgende Konatanten hinzugefügt: TRANSPORT_INSURANCE, REDIRECTION, PREFERRED_DAY, CASH_ON_DELIVERY
Und zwar geht es um folgende Aufgabe.
Letter: Implementieren Sie alle geforderten Methoden.
Bei einem Brief soll eine nachträgliche Änderung des Empfängers nicht möglich sein, die entsprechende Methode soll die Lieferung also nie verändern und stets false zurückgeben.
Fügen Sie außerdem einen zusätzlichen Konstruktor ein, bei dem zusätzlich eine Priorität übergeben werden kann.
Versuchen Sie durch geschickte Aufrufe so wenig Quelltext wie möglich zu duplizieren.
Der bisherige Konstruktor soll Briefe mit Standardpriorität erzeugen.
Ich habe es folgender maßen versucht.
Code:
ackage de.tuberlin.mcc.prog1.logistics.deliveries;
import Prog1Tools.IOTools;
import de.tuberlin.mcc.prog1.logistics.DeliveryManager;
import de.tuberlin.mcc.prog1.logistics.Location;
import de.tuberlin.mcc.prog1.logistics.utils.Priority;
public class Letter extends Delivery { // Ich glaube hier fehlen noch die implemtierten Methoden
private final boolean registeredLetter;
/**
* Creates Letter
* @param sender - sender of letter
* @param receiver - receiver of letter
* @param weight - weight of letter
* @param registeredLetter - true, if registered
* @param priority die Priorität vom Brief
*/
public Letter(Location sender, Location receiver, double weight, boolean registeredLetter, Priority priority) {
super(sender, receiver, weight, priority.STANDARD);
this.registeredLetter = registeredLetter;
if (weight < 0.2) {
postage = 70;
} else {
if (weight < 0.5) {
postage = 200;
} else {
postage = 400;
}
}
if (registeredLetter) {
postage += 300;
}
}
@Override
public String toString() {
String result = "Letter " + super.toString() + ", " + postage + "ct postage";
if (registeredLetter) {
result += ", registered letter";
}
return result;
}
/**
* Creates Letter from user input
* @return created letter or null (invalid parameters)
*/
public static Letter createLetterFromUserInput() {
System.out.println("Creating new letter...");
int sender = IOTools.readInt("LocationID of sender:");
int receiver = IOTools.readInt("LocationID of receiver:");
double weight = IOTools.readDouble("Weight of letter:");
boolean registered = IOTools.readBoolean("Registered letter?:");
Location loc_sender = DeliveryManager.getLocationById(sender);
Location loc_receiver = DeliveryManager.getLocationById(receiver);
if (loc_sender != null && loc_receiver != null && weight >= 0) {
return new Letter(loc_sender, loc_receiver, weight, registered); // Complier Fehlr :/
}
while(loc_receiver != loc_receiver ) { //
return false;
}
return null;
}
/**
* Returns true if letter is a registered letter
* @return true if letter is a registered letter
*/
public boolean isRegisteredLetter() {
return registeredLetter;
}
}
lG
Louis