65 lines
1.8 KiB
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.");
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|