diff --git a/Roboterfabrik/src/Domäne/R2D2.java b/Roboterfabrik/src/Domäne/R2D2.java index 3d5a43c..e17ba63 100644 --- a/Roboterfabrik/src/Domäne/R2D2.java +++ b/Roboterfabrik/src/Domäne/R2D2.java @@ -11,7 +11,7 @@ public class R2D2 extends Roboter { private int id; //private static int idZähler = 0; private RobotType robotType; - RobotException fehler; + //RobotException fehler; public R2D2(String name, int id) { super(name); diff --git a/Roboterfabrik/src/Domäne/RobotFactory.java b/Roboterfabrik/src/Domäne/RobotFactory.java index 44a6f08..7657630 100644 --- a/Roboterfabrik/src/Domäne/RobotFactory.java +++ b/Roboterfabrik/src/Domäne/RobotFactory.java @@ -66,4 +66,8 @@ public RobotFactory (String name) { return ausgabe; } + public RobotException letzterFehler(int id) { + Roboter r = findeRoboter(id); + return r.getLastException(); + } } diff --git a/Roboterfabrik/src/facade/Factorysystem.java b/Roboterfabrik/src/facade/Factorysystem.java index 988cdac..bfe0b42 100644 --- a/Roboterfabrik/src/facade/Factorysystem.java +++ b/Roboterfabrik/src/facade/Factorysystem.java @@ -45,5 +45,8 @@ public class Factorysystem { return ausgabe; } - + public RobotException fehlerAuslesen(int id) { + + return robotFactory.letzterFehler(id); + } } diff --git a/Roboterfabrik/src/ui/Factory.java b/Roboterfabrik/src/ui/Factory.java index 118073a..3566fdd 100644 --- a/Roboterfabrik/src/ui/Factory.java +++ b/Roboterfabrik/src/ui/Factory.java @@ -34,22 +34,20 @@ public class Factory { int input = Integer.parseInt(sc.nextLine()); System.out.println(); - - switch (input) { - case 0: - roboterAnzeigen(); - break; - case 1: - roboterBauen(); - break; - case 2: - roboterAuswählen(); - break; - case 9: - break mainloop; - + switch (input) { + case 0: + roboterAnzeigen(); + break; + case 1: + roboterBauen(); + break; + case 2: + roboterAuswählen(); + break; + case 9: + break mainloop; - } + } System.out.println(); } @@ -81,26 +79,28 @@ public class Factory { System.out.println("1 -> Zustand abfragen"); System.out.println("2 -> AN/AUS machen"); System.out.println("3 -> Roboter sprechen lassen"); + System.out.println("4 -> Letzte Fehlermeldung auslesen"); System.out.println("9 -> Zurück ins Hauptmenü"); System.out.print("> "); int input = Integer.parseInt(sc.nextLine()); - - switch (input) { - case 1: - zustandAbfragen(id); - break; - case 2: - schalterBetätigen(id); - break; - case 3: - sprechen(id); - break; - case 9: - break loop; - } + switch (input) { + case 1: + zustandAbfragen(id); + break; + case 2: + schalterBetätigen(id); + break; + case 3: + sprechen(id); + break; + case 4: + letzteFehlermeldung(id); + break; + case 9: + break loop; + } - } } @@ -122,8 +122,8 @@ public class Factory { } } - private void sprechen(int id) throws RobotException { - ArrayList zahlenHinzufügen = new ArrayList<>(); + private void sprechen(int id) { + ArrayList zahlenHinzufügen = new ArrayList<>(); System.out.println("Geben Sie ein Array an!"); System.out.println(); System.out.println("Geben Sie die 1. Zahl an!"); @@ -144,14 +144,26 @@ public class Factory { } else { weiter = false; int[] zahlen = zahlenHinzufügen.stream().mapToInt(j -> j).toArray(); + + String ausgabe; + try { + ausgabe = factorysystem.sprechenAufruf(id, zahlen); + System.out.println("Ausgabe: " + ausgabe); + } catch (RobotException e) { + System.out.println("Fehler! Bitte den letzten Fehler auslesen!"); + //e.printStackTrace(); + } - String ausgabe = factorysystem.sprechenAufruf(id, zahlen); - System.out.println("Ausgabe: " + ausgabe); - + } } } + private void letzteFehlermeldung(int id) { + System.out.println (factorysystem.fehlerAuslesen(id)); + + } + } \ No newline at end of file