// HeadPhone.java /* All the outputs were same because the variables declared and defined in HeadPhone class were static, they will be updated only once during the program execution. removing the static keyword from the variables which will be updated during the program execution will give the desired results */ public class HeadPhone { private static final int LOW = 1; private static final int MEDIUM = 2; private static final int HIGH = 3; private int volume = 0; private boolean pluggedIn = false; private String none = null; private String manufacturer = none; private String headPhoneColor = none; private String volPos = none; private String switchPos= none; private String onOrOff= none; // Default Headphone Constructor public HeadPhone() { volume = MEDIUM; pluggedIn = false; manufacturer = \"Sony\"; headPhoneColor = \"Gold\"; } // Headphone Constructor public HeadPhone (int volume2, boolean pluggedIn2, String manufacturer2, String headPhoneColor2) { volume = volume2; pluggedIn = pluggedIn2; manufacturer = manufacturer2; headPhoneColor = headPhoneColor2; } // Setter Methods // setVolume public void setVolume(int volume2) { volume = volume2; } // setPluggedIn public void setPluggedIn(boolean pluggedIn2) { pluggedIn = pluggedIn2; } // setManufacturer public void setManufacturer(String manufacturer2) { manufacturer = manufacturer2; } // setColor public void setColor(String headPhoneColor2) { headPhoneColor = headPhoneColor2; } // Getter Methods // getVolume public int getVolume() { if(volume == 3) { volPos = \"HIGH\"; } else if (volume == 2) { volPos = \"MEDIUM\"; } else if(volume == 1) { volPos = \"LOW\"; } else { System.out.println(\"Your entry is invalid, please try again.\"); } return volume; } //getPluggedIn public boolean getPluggedIn() { if(pluggedIn == false) { onOrOff = \"Off\"; } else { onOrOff = \"On\"; } return pluggedIn; } //getManufacturer public String getManufacturer() { return manufacturer; } //getColor public String getColor() { return headPhoneColor; } // changeVolume method public void changeVolume(int volume2) { setVolume(volume2); } // toString method public String toString() { String str = \"toString() results: (volume=\" + volume + \", pluggedIn=\" + pluggedIn + \", Manufacturer=\" + manufacturer + \", HeadPhone Color=\" + headPhoneColor +\")\"; return str; } } // TestHeadPhone.java import java.util.Scanner; public class TestHeadPhone { public static void main(String[] args) { int row = 4; HeadPhone [] hfArray = new HeadPhone[row]; HeadPhone hpObj1 = new HeadPhone(); hfArray[0] = hpObj1; Scanner input = new Scanner(System.in); for(int i=1; i<4; i++) { HeadPhone hpObj2 = new HeadPhone(); System.out.println(\"Please enter the data for new headphones:\"); System.out.println(\"Would you like to turn the headphones on? (Type \'true\' for on, Type \'false\' for off: \"); hpObj2.setPluggedIn(input.nextBoolean()); System.out.println(\"Please the the volume (Options are by integer (1 = Low, 2 = Medium, 3 = High): \"); hpObj2.setV.