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>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -1,35 +1,36 @@
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 wird in einem ausgeschalteten Zustand instanziiert!
Roboter (String name){
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)
@ -39,7 +40,8 @@ public abstract class Roboter implements Robot {
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)
@ -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;
}