public class Robot private String name private int energy pu
Solution
Hi, Please find my implementation.
Please let me know in case of any issue.
########### Robot.java ##################
public class Robot {
private String name;
private int energy;
public Robot(String name, int energy) throws IllegalEnergyException{
// throwing energy
if(energy < 0)
throw new IllegalEnergyException();
this.name = name;
this.energy = energy;
}
public Robot(String name){
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getEnergy() {
return energy;
}
public void setEnergy(int energy) throws IllegalEnergyException {
// throwing energy
if(energy < 0)
throw new IllegalEnergyException();
this.energy = energy;
}
public String toString() {
return \"name=\'\"+name+\'\\\'\'+\", energy=\"+energy;
}
}
################ IllegalEnergyException.java ###############
public class IllegalEnergyException extends IllegalArgumentException {
// default message
private static String message = \"Energy can not be less than zero!!\";
public IllegalEnergyException() {
// passing default message to super class
super(message);
}
public IllegalEnergyException(String message) {
// passing message to super class
super(message);
}
}
############ RobotTest.java ###############
import java.util.Scanner;
public class RobotTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print(\"Enter name: \");
String name = sc.nextLine();
System.out.print(\"Enter energy: \");
int energy = sc.nextInt();
Robot robot = null;
while(true){
try{
robot = new Robot(name, energy);
break; // if every thing is fine, then stop loop
}catch (IllegalEnergyException e) {
System.out.println(e.getMessage());
}
// taking energy value
System.out.print(\"Enter energy: \");
energy = sc.nextInt();
}
System.out.println(robot);
}
}
/*
Sample run:
Enter name: PRavesh Kumar
Enter energy: -5
Energy can not be less than zero!!
Enter energy: -11
Energy can not be less than zero!!
Enter energy: 5
name=\'PRavesh Kumar\', energy=5
*/



