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;
-
}