From d5070e89cfda9bbc6e89eabd97081b43f3142dd6 Mon Sep 17 00:00:00 2001 From: KDippold <2023962@stud.hs-mannheim.de> Date: Thu, 5 Jan 2023 14:23:28 +0100 Subject: [PATCH] speak() in Roboter implementiert und name auf final gesetzt --- Roboterfabrik/.classpath | 21 +++++---- Roboterfabrik/src/Domäne/Roboter.java | 68 ++++++++++++++------------- 2 files changed, 47 insertions(+), 42 deletions(-) diff --git a/Roboterfabrik/.classpath b/Roboterfabrik/.classpath index ac9ce57..257ce1d 100644 --- a/Roboterfabrik/.classpath +++ b/Roboterfabrik/.classpath @@ -1,10 +1,11 @@ - - - - - - - - - - + + + + + + + + + + + diff --git a/Roboterfabrik/src/Domäne/Roboter.java b/Roboterfabrik/src/Domäne/Roboter.java index 75ac1b4..7b77f68 100644 --- a/Roboterfabrik/src/Domäne/Roboter.java +++ b/Roboterfabrik/src/Domäne/Roboter.java @@ -1,51 +1,53 @@ package Domäne; -import java.util.stream.Stream; +import java.util.stream.IntStream; import tpe.exceptions.roboter.Robot; import tpe.exceptions.roboter.exceptions.RobotException; public abstract class Roboter implements Robot { - - String name; + + final String name; boolean power; - //Roboter wird in einem ausgeschalteten Zustand instanziiert! - - Roboter (String name){ - + // Roboter wird in einem ausgeschalteten Zustand instanziiert! + + Roboter(String name) { + this.name = name; this.power = false; - } - //gibt die ID des Roboters zurück + + // gibt die ID des Roboters zurück @Override public abstract int getId(); - - - //gibt den Namen des Roboters zurück + + // gibt den Namen des Roboters zurück @Override public String getName() { return name; } - //TrigerPowerSwitch dreht den Power zustand um, wenn er false ist wird er eingeschaltet also true und umgekehrt + + // TrigerPowerSwitch dreht den Power zustand um, wenn er false ist wird er + // eingeschaltet also true und umgekehrt @Override public void triggerPowerSwitch() { if (power == false) power = true; - + else if (power == true) power = false; - + } - //Zustand wird geprüft, ob der Roboter an ist. + + // Zustand wird geprüft, ob der Roboter an ist. @Override public boolean isPowerOn() { if (power == true) - return true; - - else + return true; + + else return false; } @@ -56,22 +58,24 @@ public abstract class Roboter implements Robot { } public String speak(int[] zahlen) throws RobotException { - if (zahlen[0] < zahlen[zahlen.length - 1]) { - String ausgabe = ""; - Stream.of(zahlen).forEach(n -> ausgabe = ausgabe + n + ","); - return ausgabe; - } - else if (zahlen[0] < zahlen[zahlen.length - 1]) { - String ausgabe = ""; - Stream.of(zahlen).forEach(n -> ausgabe = ausgabe + n + ";"); - return ausgabe; - } - return null; + return prepare(zahlen); + } + + private String prepare(int[] zahlen) { + StringBuilder sb = new StringBuilder(); + if (zahlen[0] < zahlen[zahlen.length - 1]) { + IntStream.of(zahlen).forEach(n -> sb.append(n + ", ")); + return sb.toString(); + } else if (zahlen[0] > zahlen[zahlen.length - 1]) { + IntStream.of(zahlen).forEach(n -> sb.append(n + "; ")); + return sb.toString(); + } + + return null; + } - @Override public abstract int[] think(int[] zahlen) throws RobotException; - }