Разве не должен атаковать первый , а защищатся второй?
public static void doMove(Robot robotFirst, Robot robotSecond) {
BodyPart attacked = robotFirst.attack();
BodyPart defenced = robotFirst.defense();//защищатся должен второй робот
System.out.println(String.format("%s атаковал робота %s, атакована %s, защищена %s",
robotFirst.getName(), robotSecond.getName(), attacked, defenced));
}