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

@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
</classpath> <classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -1,51 +1,53 @@
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)
power = true; power = true;
else if (power == true) else if (power == true)
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)
return true; return true;
else else
return false; return false;
} }
@ -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; private String prepare(int[] zahlen) {
} StringBuilder sb = new StringBuilder();
else if (zahlen[0] < zahlen[zahlen.length - 1]) { if (zahlen[0] < zahlen[zahlen.length - 1]) {
String ausgabe = ""; IntStream.of(zahlen).forEach(n -> sb.append(n + ", "));
Stream.of(zahlen).forEach(n -> ausgabe = ausgabe + n + ";"); return sb.toString();
return ausgabe; } else if (zahlen[0] > zahlen[zahlen.length - 1]) {
} IntStream.of(zahlen).forEach(n -> sb.append(n + "; "));
return null; return sb.toString();
}
return null;
} }
@Override @Override
public abstract int[] think(int[] zahlen) throws RobotException; public abstract int[] think(int[] zahlen) throws RobotException;
} }