Alle gefundenen Ausnahmen die der User auslösen kann werden gecatcht.
parent
32e22a1b48
commit
b8de76edc5
|
@ -7,7 +7,7 @@ import tpe.exceptions.roboter.exceptions.RobotException;
|
||||||
public class RobotFactory {
|
public class RobotFactory {
|
||||||
private String name;
|
private String name;
|
||||||
private Roboter pris = Nexus6.getInstance();
|
private Roboter pris = Nexus6.getInstance();
|
||||||
private HashMap <Integer, Roboter> roboterLager = new HashMap<>();
|
private static HashMap <Integer, Roboter> roboterLager = new HashMap<>();
|
||||||
|
|
||||||
public RobotFactory (String name) {
|
public RobotFactory (String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
@ -86,4 +86,8 @@ public RobotFactory (String name) {
|
||||||
public int getRoboterLagerSize() {
|
public int getRoboterLagerSize() {
|
||||||
return roboterLager.size();
|
return roboterLager.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean istDieserRoboterDa(int id) {
|
||||||
|
return roboterLager.containsKey(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,4 +53,9 @@ public class Factorysystem {
|
||||||
public String roboterDaten (int id) {
|
public String roboterDaten (int id) {
|
||||||
return robotFactory.datenDesRoboters(id);
|
return robotFactory.datenDesRoboters(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean istDieserRoboterDa(int id) {
|
||||||
|
boolean istDa = RobotFactory.istDieserRoboterDa(id);
|
||||||
|
return istDa;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ public class Factory {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void hauptmenü() throws RobotException {
|
private void hauptmenü() throws RobotException {
|
||||||
|
int input = 0;
|
||||||
mainloop: while (true) {
|
mainloop: while (true) {
|
||||||
System.out.println();
|
System.out.println();
|
||||||
System.out.println("========");
|
System.out.println("========");
|
||||||
|
@ -28,9 +28,16 @@ public class Factory {
|
||||||
System.out.println("9 -> Beenden");
|
System.out.println("9 -> Beenden");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
System.out.println("> ");
|
while (true) {
|
||||||
int input = Integer.parseInt(sc.nextLine());
|
System.out.println("> ");
|
||||||
System.out.println();
|
try {
|
||||||
|
input = Integer.parseInt(sc.nextLine());
|
||||||
|
System.out.println();
|
||||||
|
break;
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Bitte eine passende Zahl eingeben");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch (input) {
|
switch (input) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -47,35 +54,51 @@ public class Factory {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
System.out.println("Programm beendet!");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void roboterBauen() {
|
private void roboterBauen() {
|
||||||
int auswahl;
|
int auswahl;
|
||||||
String name;
|
String name;
|
||||||
while(true) {
|
while (true) {
|
||||||
try {
|
try {
|
||||||
System.out.println("Welchen Robotertyp möchten Sie haben?(R2D2(1) oder C3PO (2)");
|
System.out.println("Welchen Robotertyp möchten Sie haben?(R2D2(1) oder C3PO (2)");
|
||||||
auswahl = Integer.parseInt(sc.nextLine());
|
auswahl = Integer.parseInt(sc.nextLine());
|
||||||
if (auswahl == 1 || auswahl == 2) break;
|
if (auswahl == 1 || auswahl == 2)
|
||||||
} catch(Exception e) {
|
break;
|
||||||
|
} catch (Exception e) {
|
||||||
System.out.println("Bitte 1 oder 2 eingeben");
|
System.out.println("Bitte 1 oder 2 eingeben");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while(true) {
|
while (true) {
|
||||||
System.out.println("Wie wollen Sie ihren Roboter nennen?");
|
System.out.println("Wie wollen Sie ihren Roboter nennen?");
|
||||||
name = sc.nextLine();
|
name = sc.nextLine();
|
||||||
if (!name.isBlank())break;
|
if (!name.isBlank())
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
int seriennummer = factorysystem.roboterAnlegen(name, auswahl);
|
int seriennummer = factorysystem.roboterAnlegen(name, auswahl);
|
||||||
System.out.println(name + " mit der Seriennummer: " + seriennummer + " wurde erstellt.");
|
System.out.println(name + " mit der Seriennummer: " + seriennummer + " wurde erstellt.");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void roboterAuswählen() throws RobotException {
|
private void roboterAuswählen() throws RobotException {
|
||||||
System.out.println("Geben Sie bitte die Seriennummer ein: ");
|
int id;
|
||||||
int id = Integer.parseInt(sc.nextLine());
|
while (true) {
|
||||||
|
try {
|
||||||
|
System.out.println("Geben Sie bitte die Seriennummer ein: ");
|
||||||
|
id = Integer.parseInt(sc.nextLine());
|
||||||
|
if (istDieserRoboterDa(id)) {
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
System.out.println("Dieser Roboter wurde nicht gefunden");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Bitte eine Nummer eingeben");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
loop: while (true) {
|
loop: while (true) {
|
||||||
System.out.println("Wählen Sie eine Aktion aus!");
|
System.out.println("Wählen Sie eine Aktion aus!");
|
||||||
|
@ -86,29 +109,38 @@ public class Factory {
|
||||||
System.out.println("5 -> Daten abrufen");
|
System.out.println("5 -> Daten abrufen");
|
||||||
System.out.println("9 -> Zurück ins Hauptmenü");
|
System.out.println("9 -> Zurück ins Hauptmenü");
|
||||||
System.out.print("> ");
|
System.out.print("> ");
|
||||||
int input = Integer.parseInt(sc.nextLine());
|
try {
|
||||||
|
int input = Integer.parseInt(sc.nextLine());
|
||||||
switch (input) {
|
switch (input) {
|
||||||
case 1:
|
case 1:
|
||||||
zustandAbfragen(id);
|
zustandAbfragen(id);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
schalterBetätigen(id);
|
schalterBetätigen(id);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
sprechen(id);
|
sprechen(id);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
letzteFehlermeldung(id);
|
letzteFehlermeldung(id);
|
||||||
break;
|
break;
|
||||||
case 5: datenAbruf(id); break;
|
case 5:
|
||||||
case 9:
|
datenAbruf(id);
|
||||||
break loop;
|
break;
|
||||||
|
case 9:
|
||||||
|
break loop;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Bitte eine passende Zahl eingeben.");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean istDieserRoboterDa(int id) {
|
||||||
|
boolean istDa = Factorysystem.istDieserRoboterDa(id);
|
||||||
|
return istDa;
|
||||||
|
}
|
||||||
|
|
||||||
private void zustandAbfragen(int id) {
|
private void zustandAbfragen(int id) {
|
||||||
boolean zustand = factorysystem.zustandRoboter(id);
|
boolean zustand = factorysystem.zustandRoboter(id);
|
||||||
if (zustand == true) {
|
if (zustand == true) {
|
||||||
|
@ -156,9 +188,8 @@ public class Factory {
|
||||||
System.out.println("Ausgabe: " + ausgabe);
|
System.out.println("Ausgabe: " + ausgabe);
|
||||||
} catch (RobotException e) {
|
} catch (RobotException e) {
|
||||||
System.out.println("Fehler! Bitte den letzten Fehler auslesen!");
|
System.out.println("Fehler! Bitte den letzten Fehler auslesen!");
|
||||||
//e.printStackTrace();
|
// e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,10 +198,10 @@ public class Factory {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void letzteFehlermeldung(int id) {
|
private void letzteFehlermeldung(int id) {
|
||||||
System.out.println (factorysystem.fehlerAuslesen(id));
|
System.out.println(factorysystem.fehlerAuslesen(id));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void datenAbruf(int id) {
|
private void datenAbruf(int id) {
|
||||||
System.out.println(factorysystem.roboterDaten(id));
|
System.out.println(factorysystem.roboterDaten(id));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue