Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package bahnhof_2_0;
- import java.util.Scanner;
- public class TrainManagementMenu {
- public static void main(String[] args) {
- Scanner systemEingabe = new Scanner(System.in);
- while (true) {
- System.out.println("Wilkommen im Menue bitte benutzen sie eine der folgenden Optionen");
- System.out.println("Waehlen sie 1 um einen neun Zug anzulegen");
- System.out.println("Waehlen sie 2 um einen neuen Bahnhof anzulegen");
- int benutzerEingabe = 0;
- try {
- benutzerEingabe = systemEingabe.nextInt();
- } catch (Exception e) {
- systemEingabe.next();
- }
- if (benutzerEingabe == 1) {
- buildNewTrain();
- }else if (benutzerEingabe == 2) {
- buildNewBahnhof();
- }else {
- System.out.println("Eingabe ungueltig bitte versuchen sie es erneut.");
- }
- }
- /*
- * public Train(int id, char type, int numberOfWagons, double wagonLength) {
- * this.id = id; this.type = type; this.numberOfWagons = numberOfWagons;
- * this.wagonLength = wagonLength; }
- */
- }
- private static void buildNewBahnhof() {
- int anzahlGleise = (int) getValue(4);// recyceln von getValue d.h. 0,1,2,3,4...
- TrainStation trainStation = new TrainStation(anzahlGleise);
- for (int i = 0; i < anzahlGleise; i++) {
- double laengeDesGleises = (double) getValue(5);// Cast probiert beliebigen Typ in den genannten Typ
- // umzuwandeln.
- trainStation.tracks[i] = new Track(i, laengeDesGleises); // Erstellen eines Gleises mit ID i und der aus der
- // Konsole ausgelesenenen Laenge und speichern
- // es in der Gleis Liste der Train Station
- }
- System.out.println("Der von ihnen erstellte Bahnhof hat " + anzahlGleise + " Gleise");
- for (int i = 0; i < anzahlGleise; i++) {
- System.out.println("Gleis " + i+" ist "+trainStation.tracks[i].length);
- }
- }
- private static void buildNewTrain() {
- /*
- * Die Methode buildNewTrain ruft 4- mal (fuer jeden Parameter einmal) die
- * getValue Methode auf, welche abhaengig vom uebergebenen Typ (0-3) den passenden
- * Parameter von der Konsole einliesst.
- */
- int trainId = (int) getValue(2);
- char type = (char) getValue(1);
- double wagonLength = (double) getValue(0);
- int numberOfWagons = (int) getValue(3);
- /*
- * Mit hilfe des Konstruktors und den obigen Parametern wird ein Zug erstellt
- * und anschliessend ausgegeben
- */
- Train trainNewResult = new Train(trainId, type, numberOfWagons, wagonLength);
- System.out.println("dieser Zug hat die ID " + trainNewResult.id + ", ist vom Typ " + trainNewResult.type
- + " hat " + trainNewResult.numberOfWagons + " Wagons und ein Wagon ist " + trainNewResult.wagonLength
- + " Meter lang");
- }
- private static Object getValue(int type) {
- Scanner scanner = new Scanner(System.in);
- String attribute = "";// leerer String, wird spaeter durch die Cases gefuellt.
- switch (type) {
- case 0:
- attribute = "die Wagonlaenge";
- break;
- case 1:
- attribute = "den Typ";
- break;
- case 2:
- attribute = "die Zug ID";
- break;
- case 4:
- attribute = "die Anzahl an Gleisen";
- break;
- case 5:
- attribute = "die Laenge des Gleises";
- break;
- default:
- attribute = "die Anzahl an Wagons";
- break;
- }
- System.out.println("Bitte geben sie " + attribute + " an");
- Object result = null;
- boolean undefined = true;
- while (undefined) {
- try {
- switch (type) {
- case 0:
- result = scanner.nextDouble();
- break;
- case 1:
- result = scanner.next().charAt(0);
- break;
- case 5:
- result = scanner.nextDouble();
- break;
- default:
- result = scanner.nextInt();
- break;
- }
- undefined = false;// Aus der While Schleife raus.
- } catch (Exception e) {// Jegliche Art von exceptions wird aufgefangen, while Schleife wird neu
- // ausgefuehrt, da undefined weiterhin =true.
- scanner.next(); // Fehlerhafte Eingabe beseitigen.
- System.out.println("Eingabe ungueltig bitte versuchen sie es erneut.");
- }
- }
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement