Overengineering :)
parent
1bca114fce
commit
e9d033d5ef
|
@ -1,42 +1,137 @@
|
|||
package ueb6;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Scanner;
|
||||
|
||||
|
||||
public class TestPacket {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Paket Fry = new Paket("Philip J. Fry", "Frystreet 1\nNew New York\nUSA");
|
||||
Paket Leela = new Paket("Turanga Leela", "Lilaweg 69\nNew New York\nUSA");
|
||||
Paket Bender = new Paket("Bender Rodriguez", "Biegeallee 420\nTijuana\nMexico");
|
||||
Scanner sc = new Scanner(System.in);
|
||||
boolean gestoppt = false;
|
||||
//Packstation instanziieren
|
||||
Packstation ps = new Packstation();
|
||||
|
||||
Packstation Test = new Packstation(2, 2);
|
||||
|
||||
|
||||
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();
|
||||
//HashMap um Pakete später benennen zu können
|
||||
Map<String, Paket> pakete = new HashMap<>();
|
||||
|
||||
try {
|
||||
Test.legePaketAb(Fry);
|
||||
} catch (IllegalStateException e) {
|
||||
System.out.println("Es existiert keine freier Platz mehr.");
|
||||
//Auswahl der Packstation-Konstruktoren
|
||||
System.out.println("* Packstation wählen *");
|
||||
System.out.println("Standardgröße[1] | Benutzerdefinierte Größe[2]");
|
||||
|
||||
//Nutzereingabe
|
||||
System.out.print("Auswahl: ");
|
||||
int auswahl = sc.nextInt();
|
||||
|
||||
//Auswahl des Standardkonstruktors
|
||||
if (auswahl == 1) {
|
||||
System.out.println("\n* Standardgröße gewählt *");
|
||||
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.");
|
||||
|
||||
}
|
||||
int freiePlaetze = Test.zaehleFreieBoxen();
|
||||
System.out.println("Es gibt " + freiePlaetze + " freie Plätze.");
|
||||
System.out.println();
|
||||
|
||||
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 {
|
||||
String info = Test.informationZumBoxenplatz(1, 1);
|
||||
System.out.println("Empfängerinformationen für Platz: " + info);
|
||||
//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("Die angegebene Box existiert nicht.");
|
||||
}
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
|
||||
sc.close();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue