speak() in Roboter implementiert und name auf final gesetzt

master
Kai-Niklas Dippold 2023-01-05 14:23:28 +01:00
parent eeaa28e263
commit d5070e89cf
2 changed files with 47 additions and 42 deletions

View File

@ -6,5 +6,6 @@
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View File

@ -1,35 +1,36 @@
package Domäne; package Domäne;
import java.util.stream.Stream; import java.util.stream.IntStream;
import tpe.exceptions.roboter.Robot; import tpe.exceptions.roboter.Robot;
import tpe.exceptions.roboter.exceptions.RobotException; import tpe.exceptions.roboter.exceptions.RobotException;
public abstract class Roboter implements Robot { public abstract class Roboter implements Robot {
String name; final String name;
boolean power; boolean power;
//Roboter wird in einem ausgeschalteten Zustand instanziiert! // Roboter wird in einem ausgeschalteten Zustand instanziiert!
Roboter (String name){ Roboter(String name) {
this.name = name; this.name = name;
this.power = false; this.power = false;
} }
//gibt die ID des Roboters zurück
// gibt die ID des Roboters zurück
@Override @Override
public abstract int getId(); public abstract int getId();
// gibt den Namen des Roboters zurück
//gibt den Namen des Roboters zurück
@Override @Override
public String getName() { public String getName() {
return name; 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 @Override
public void triggerPowerSwitch() { public void triggerPowerSwitch() {
if (power == false) if (power == false)
@ -39,7 +40,8 @@ public abstract class Roboter implements Robot {
power = false; power = false;
} }
//Zustand wird geprüft, ob der Roboter an ist.
// Zustand wird geprüft, ob der Roboter an ist.
@Override @Override
public boolean isPowerOn() { public boolean isPowerOn() {
if (power == true) if (power == true)
@ -56,22 +58,24 @@ public abstract class Roboter implements Robot {
} }
public String speak(int[] zahlen) throws RobotException { public String speak(int[] zahlen) throws RobotException {
if (zahlen[0] < zahlen[zahlen.length - 1]) { return prepare(zahlen);
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;
} }
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 @Override
public abstract int[] think(int[] zahlen) throws RobotException; public abstract int[] think(int[] zahlen) throws RobotException;
} }