Overengineering :)
parent
1bca114fce
commit
e9d033d5ef
|
@ -1,42 +1,137 @@
|
||||||
package ueb6;
|
package ueb6;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
|
||||||
public class TestPacket {
|
public class TestPacket {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Paket Fry = new Paket("Philip J. Fry", "Frystreet 1\nNew New York\nUSA");
|
Scanner sc = new Scanner(System.in);
|
||||||
Paket Leela = new Paket("Turanga Leela", "Lilaweg 69\nNew New York\nUSA");
|
boolean gestoppt = false;
|
||||||
Paket Bender = new Paket("Bender Rodriguez", "Biegeallee 420\nTijuana\nMexico");
|
//Packstation instanziieren
|
||||||
|
Packstation ps = new Packstation();
|
||||||
|
|
||||||
Packstation Test = new Packstation(2, 2);
|
//HashMap um Pakete später benennen zu können
|
||||||
|
Map<String, Paket> pakete = new HashMap<>();
|
||||||
|
|
||||||
System.out.println("Empfänger des 1. Pakets ist: " + Fry.getEmpfaenger());
|
|
||||||
System.out.println("Adresse des 1. Pakets ist: " + Fry.getAnschrift());
|
|
||||||
System.out.println("Empfänger des 2. Pakets ist: " + Leela.getEmpfaenger());
|
|
||||||
System.out.println("Adresse des 2. Pakets ist: " + Leela.getAnschrift());
|
|
||||||
System.out.println("Empfänger des 3. Pakets ist: " + Bender.getEmpfaenger());
|
|
||||||
System.out.println("Adresse des 3. Pakets ist: " + Bender.getAnschrift());
|
|
||||||
System.out.println();
|
|
||||||
System.out.println(Fry.toString());
|
|
||||||
System.out.println();
|
|
||||||
System.out.println(Leela.toString());
|
|
||||||
System.out.println();
|
|
||||||
System.out.println(Bender.toString());
|
|
||||||
System.out.println();
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Test.legePaketAb(Fry);
|
//Auswahl der Packstation-Konstruktoren
|
||||||
} catch (IllegalStateException e) {
|
System.out.println("* Packstation wählen *");
|
||||||
System.out.println("Es existiert keine freier Platz mehr.");
|
System.out.println("Standardgröße[1] | Benutzerdefinierte Größe[2]");
|
||||||
}
|
|
||||||
int freiePlaetze = Test.zaehleFreieBoxen();
|
//Nutzereingabe
|
||||||
System.out.println("Es gibt " + freiePlaetze + " freie Plätze.");
|
System.out.print("Auswahl: ");
|
||||||
System.out.println();
|
int auswahl = sc.nextInt();
|
||||||
try {
|
|
||||||
String info = Test.informationZumBoxenplatz(1, 1);
|
//Auswahl des Standardkonstruktors
|
||||||
System.out.println("Empfängerinformationen für Platz: " + info);
|
if (auswahl == 1) {
|
||||||
} catch (IllegalArgumentException e) {
|
System.out.println("\n* Standardgröße gewählt *");
|
||||||
System.out.println("Die angegebene Box existiert nicht.");
|
System.out.println("Breite: 5, Höhe: 4");
|
||||||
|
|
||||||
|
//Auswahl des benutzerdefinierten Konstruktors
|
||||||
|
} else if (auswahl == 2) {
|
||||||
|
|
||||||
|
//Eingabe der Werte für den Konstruktor
|
||||||
|
System.out.println("\n* Bitte Werte eingeben *");
|
||||||
|
System.out.print("Breite: ");
|
||||||
|
int breite = sc.nextInt();
|
||||||
|
System.out.print("Hoehe: ");
|
||||||
|
int hoehe = sc.nextInt();
|
||||||
|
|
||||||
|
//Instanziieren der Klasse
|
||||||
|
ps = new Packstation(breite, hoehe);
|
||||||
|
System.out.println("\n* Benutzerdefinierte Größe gewählt *");
|
||||||
|
System.out.printf("Breite: %d, Höhe: %d\n", breite, hoehe);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
sc.close();
|
||||||
|
//Fehlermeldung, wenn nicht Option 1 oder 2 gewählt wird
|
||||||
|
throw new IllegalArgumentException("Fehlerhafte Eingabe.");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
while(!gestoppt) {
|
||||||
|
//Auswahl der auszuführenden Methode
|
||||||
|
System.out.println("\n* Operation wählen *");
|
||||||
|
System.out.println("Paket ablegen[1] | Freie Boxen zählen[2] | Information zum Boxenplatz[3] | Programm beenden[4]");
|
||||||
|
|
||||||
|
//Nutzereingabe
|
||||||
|
System.out.print("Auswahl: ");
|
||||||
|
auswahl = sc.nextInt();
|
||||||
|
sc.nextLine();
|
||||||
|
|
||||||
|
switch(auswahl) {
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
System.out.println("\n* Paket ablegen gewählt *");
|
||||||
|
|
||||||
|
//Nutzereingabe für Konstruktor: Empfaenger
|
||||||
|
System.out.print("Name: ");
|
||||||
|
String name = sc.nextLine();
|
||||||
|
|
||||||
|
//Nutzereingabe für Konstruktor: Adresse
|
||||||
|
System.out.print("Adresse: ");
|
||||||
|
String adresse = sc.nextLine();
|
||||||
|
|
||||||
|
//Nutzereingabe zur Benennung des Objekts
|
||||||
|
System.out.print("Paketbezeichnung: ");
|
||||||
|
String paketname = sc.nextLine();
|
||||||
|
pakete.put(paketname, new Paket(name, adresse));
|
||||||
|
|
||||||
|
try {
|
||||||
|
//Ablegen des Pakets
|
||||||
|
ps.legePaketAb(pakete.get(paketname));
|
||||||
|
|
||||||
|
}
|
||||||
|
//Fehlermeldung falls Box voll
|
||||||
|
catch (IllegalStateException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
System.out.println("* Freie Boxen zählen gewählt *");
|
||||||
|
|
||||||
|
//Freie Boxen zählen
|
||||||
|
int freieBoxen = ps.zaehleFreieBoxen();
|
||||||
|
if (freieBoxen == 1)
|
||||||
|
System.out.println("Es ist " + ps.zaehleFreieBoxen() + " Box verfügbar.");
|
||||||
|
else
|
||||||
|
System.out.println("Es sind " + ps.zaehleFreieBoxen() + " Boxen verfügbar.");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
System.out.println("\n* Information zum Boxenplatz *");
|
||||||
|
|
||||||
|
//Formatierte Ausgabe der Packstation-Boxen
|
||||||
|
ps.printStation();
|
||||||
|
|
||||||
|
//Nutzereingabe für Spalte
|
||||||
|
System.out.print("\nSpalte wählen: ");
|
||||||
|
int spalte = sc.nextInt();
|
||||||
|
|
||||||
|
//Nutzereingabe für Reihe
|
||||||
|
System.out.print("Reihe spalten: ");
|
||||||
|
int reihe = sc.nextInt();
|
||||||
|
|
||||||
|
//Ausgabe der Information
|
||||||
|
System.out.println(ps.informationZumBoxenplatz(spalte, reihe));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
//Schließen des Programmes
|
||||||
|
System.out.println(" * Programm wird beendet * ");
|
||||||
|
gestoppt = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
} catch(IllegalArgumentException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sc.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue