Must be coded in java Examples are Programming exercise exemplifying a tv/microw
ID: 3861149 • Letter: M
Question
Must be coded in java Examples are Programming exercise exemplifying a tv/microwave This is an Object Modeling/Programming exercise – albeit around 1 (maybe 2) Object. Using the Radio Object we reviewed in class as a point of reference, think of a common (or maybe, not so common) physical device or appliance that’s worthy of modeling as an Object. Consider the following: The basic operations/functionality of your device/appliance become public methods of the implementing Class (e.g., on, off, go, start, stop, … ) The internal structure (or how you envision the internal structure) of your device/appliance become the data members of the implementing Class. This would include the internal piece-parts of the device and well as “state components”. For example, modeling a bread toaster might require a “heat coil” as well as a “power on/off” indicator. In the spirit of modularity, reusability, etc., private/protected methods can and should be used to implement public method sub-tasks. In addition to Class members supporting (a) through (c) above, you also need to implement: Either a public void main(String [] ) method or a second “test harness” Class whose only job will be to: Create an instance of your modeled Class Invoke a sequence of methods on that instance designed to show that it’s being taken A “String toString()” method – allowing you to display the “state” of the Object Instance. What do we mean by the state of the Instance? Normally, the collective value of all data members ‘at a moment in time’ is considered the instance’s state. That’s a very valid definition of state, but for this lab, customize the Class’ toString() method to display values of data members that are considered significant to the device/application’s operation. Note: Refer to the Radio Class’ toString() and main() methods as a guide. See Rodio’s execution output below – showing that a single instance has been created, and taken through a series of operations (method invocations). At key points, a “toString()” representation of the instance’s state is displayed to the console using System.out.println()or the like. New Instance Radio Instance: [SerialNumber=1411918066216:43514652, powerState=false, selectedVolume=0, selectedStation=0.0, selectedBand=null, amPresets=null, fmPresets=null, firstTimeOn=null, lastTimeOn=null, selectedBalance=0, selectedBassLevel=0, selectedTrebleLevel=0] Turned On Radio Instance: [SerialNumber=1411918066216:43514652, powerState=true, selectedVolume=5, selectedStation=770.0, selectedBand=AM, amPresets=[563.0, 1080.0, 773.0, 730.0, 1192.0, 584.0, 608.0, 843.0], fmPresets=[99.0, 92.0, 101.0, 99.0, 88.0, 103.0, 92.0, 92.0, 92.0, 105.0, 99.0, 93.0], firstTimeOn=Sun Sep 28 11:27:46 EDT 2014, lastTimeOn=Sun Sep 28 11:27:46 EDT 2014, selectedBalance=0, selectedBassLevel=2, selectedTrebleLevel=3] Changed Station Radio Instance: [SerialNumber=1411918066216:43514652, powerState=true, selectedVolume=5, selectedStation=92.3, selectedBand=FM, amPresets=[563.0, 1080.0, 773.0, 730.0, 1192.0, 584.0, 608.0, 843.0], fmPresets=[99.0, 92.0, 101.0, 99.0, 88.0, 103.0, 92.0, 92.0, 92.0, 105.0, 99.0, 93.0], firstTimeOn=Sun Sep 28 11:27:46 EDT 2014, lastTimeOn=Sun Sep 28 11:27:46 EDT 2014, selectedBalance=0, selectedBassLevel=2, selectedTrebleLevel=3] Assign Preset [1] to + FM Radio Instance: [SerialNumber=1411918066216:43514652, powerState=true, selectedVolume=5, selectedStation=101.1, selectedBand=FM, amPresets=[563.0, 1080.0, 773.0, 730.0, 1192.0, 584.0, 608.0, 843.0], fmPresets=[101.1, 92.0, 101.0, 99.0, 88.0, 103.0, 92.0, 92.0, 92.0, 105.0, 99.0, 93.0], firstTimeOn=Sun Sep 28 11:27:46 EDT 2014, lastTimeOn=Sun Sep 28 11:27:46 EDT 2014, selectedBalance=0, selectedBassLevel=2, selectedTrebleLevel=3] Turned Off Radio Instance: [SerialNumber=1411918066216:43514652, powerState=false, selectedVolume=5, selectedStation=101.1, selectedBand=FM, amPresets=[563.0, 1080.0, 773.0, 730.0, 1192.0, 584.0, 608.0, 843.0], fmPresets=[101.1, 92.0, 101.0, 99.0, 88.0, 103.0, 92.0, 92.0, 92.0, 105.0, 99.0, 93.0], firstTimeOn=Sun Sep 28 11:27:46 EDT 2014, lastTimeOn=Sun Sep 28 11:27:46 EDT 2014, selectedBalance=0, selectedBassLevel=2, selectedTrebleLevel=3] output :
Explanation / Answer
import java.util.ArrayList;
enum Temperature {LOW,MEDIUM,HIGH }
public class Fridge
{
private boolean on=false;
private String name;
private String brand;
private int capacity;
private Temperature temperature=Temperature.MEDIUM;
private boolean open;
private ArrayList<String> items=new ArrayList<String>();
public Fridge(String name,String brand,int capacity)
{
this.name=name;
this.brand=brand;
this.capacity=capacity;
}
public void turnOff()
{
on=false;
}
public void turnOn()
{
on=true;
}
public void open()
{
open=true;
}
public void selectTemperature(Temperature t)
{
this.temperature=t;
}
public void addItem(String item)
{
if(on==false)
{
System.out.println("pls turn on before you putting anything inside me or your food might get rotten");
}
if(open==false)
{
System.out.println(" Are you blind?? my door is not opened. ");
}
else
{
items.add(item);
}
}
public void getItem(String item)
{
if(open ==false)
{
System.out.println(" Are you blind?? my door is not opened. ");
}
else
{
if(items.contains(item))
{
if(on==false)
{
System.out.println("you forgot to turn me on and so your "+item+" dried up");
}
}
else
{
System.out.println("there is no such item in");
}
}
}
public String toString()
{ String s;
if(on)
{
return String.format("The fridge is on at "+temperature+" temperature/n"+"it contains:/n:"+items);
}
else
{
return String.format("The fridge is off/n it contains following:/n"+items);
}
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.