diff --git a/Roboterfabrik/src/Domäne/R2D2.java b/Roboterfabrik/src/Domäne/R2D2.java index ea293f4..f366261 100644 --- a/Roboterfabrik/src/Domäne/R2D2.java +++ b/Roboterfabrik/src/Domäne/R2D2.java @@ -6,9 +6,9 @@ import tpe.exceptions.roboter.Robot; import tpe.exceptions.roboter.RobotException; public class R2D2 extends Roboter { - int id; - static int idZähler = 0; - RobotType robotType; + private int id; + private static int idZähler = 0; + private RobotType robotType; R2D2 (String name){ @@ -18,14 +18,6 @@ public class R2D2 extends Roboter { idZähler++; } - @Override - public String speak(int[] zahlen) throws RobotException { - String ausgabe = ""; - for (int i = 0; i < zahlen.length; i++) { - ausgabe = ausgabe + zahlen[i] +","; - } - return ausgabe; - } @Override public int[] think(int[] zahlen) throws RobotException { diff --git a/Roboterfabrik/src/Domäne/Roboter.java b/Roboterfabrik/src/Domäne/Roboter.java index fb1f84d..172c9dc 100644 --- a/Roboterfabrik/src/Domäne/Roboter.java +++ b/Roboterfabrik/src/Domäne/Roboter.java @@ -1,5 +1,7 @@ package Domäne; +import java.util.stream.Stream; + import tpe.exceptions.roboter.Robot; import tpe.exceptions.roboter.RobotException; @@ -53,8 +55,18 @@ public abstract class Roboter implements Robot { return null; } - @Override - public abstract String speak(int[] zahlen) throws RobotException; + public String speak(int[] zahlen, RobotType robotType) throws RobotException { + if (robotType == RobotType.R2D2) { + String ausgabe = ""; + Stream.of(zahlen).forEach(n -> ausgabe = ausgabe + n + ","); + return ausgabe; + } + else if (robotType == RobotType.C3PO) { + String ausgabe = ""; + Stream.of(zahlen).forEach(n -> ausgabe = ausgabe + n + ";"); + return ausgabe; + } + } @Override