Pr_robot_factory/domain/C3PO.java

65 lines
1.8 KiB
Java

package domain;
import robot.exceptions.RobotException;
import robot.exceptions.robotExceptions;
import java.util.Arrays;
import java.util.stream.Collectors;
public class C3PO extends RobotBasics {
public C3PO(int id, String name){
super(id, name);
}
// public String ausgabe(int[] input) throws RobotException{
// if(input.length != 0 && !checkArray(input)){
// return Arrays.stream(input)
// .mapToObj(Integer::toString)
// .collect(Collectors.joining("; "));
// }else{
// throw new RobotException(robotExceptions.MAGICVALUE, getName());
// // throw new RobotMagicValueException(getName() + " has an unknown Error. Code 42.");
// }
// }
@Override
public String speak(int[] input) throws RobotException {
if(isPowerOn()){
try{
return ausgabe(input, ";");
}catch(RobotException re){
return re.toString();
}
}else{
throw new RobotException(robotExceptions.ILLEGALSTATE, getName());
//throw new RobotIllegalStateException(getName() + " is turned off.");
}
}
public int[] sorting(int[] input) throws RobotException{
if(input.length != 0 ){
if(checkArray(input)){
return insertionSort(input);
}else{
throw new RobotException(robotExceptions.MAGICVALUE, getName());
//throw new RobotMagicValueException(getName() + " has an unknown error. Code 42");
}
}
return new int[0];
}
@Override
public int[] think(int[] input) throws RobotException {
//Insertionsort
if(isPowerOn()){
return sorting(input);
}else{
throw new RobotException(robotExceptions.ILLEGALSTATE, getName());
// throw new RobotIllegalStateException(getName() + " is turned off.");
}
}
}