I need urgent help with the following problem:

Suppose there is a class AirConditioner . The class supports the following behaviors : turning the air conditioner on and off. The following methods are provided for these behaviors : turnOn and turnOff . Both methods accept no arguments and return no value .
There is a reference variable myAC to an object of this class , which has already been created. Send a message to this object using the reference variable , telling it to turn the air conditioner on.

I think the answer is:

sendMessage(turnOn);

but i'm worng.

PLEASE HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!

If the object is myAC and the interface consists of turnOn and turnOff then there are only two things you can do with an existing object: call turnOn and call turnOff. The syntax to call a method of an object is a simple dot hierarchy <object>.<method>(<arguments>). Because turnOn and turnOff don't take arguments, you can leave the list empty and replacing object with myAC and method with turnOn, you get this:

myAC.turnOn();

CORRECT!

Thanks

Can u help me w/ the next problem:

Suppose there is a class AirConditioner . The class supports the following behaviors : turning the air conditioner on and off. The following methods are provided for these behaviors : turnOn and turnOff . Both methods accept no arguments and return no value .
There is a reference variable officeAC of type AirConditioner . Create a new object of type AirConditioner using the officeACreference variable . After that, turn the air conditioner on using the reference to the new object .

I think the answer is:

AirConditioner of=new AirConditioner();
officeAC.turnOn();

Thanks!

P.S. I have 2 books - none deal w/ messages

>none deal w/ messages
You aren't up to a point where messages are meaningful, your instructor is just using weird terminology to confuse you.

Because the problem suggests that officeAC is a variable that already exists, you can simply do this:

officeAC = new AirConditioner();

officeAC.turnOn();

>P.S. I have 2 books
p.s. I don't know of any Java book that doesn't cover basic constructor usage.

Correct!!!
Thanks!

One last question:

You are given a class named Clock that has three instance variables : One of type int called hours , another of type boolean called isTicking , and the last one of type Integer called diff . Write a constructor for the class Clock that takes three parameters -- an int , a boolean , and another int . The constructor should set the instance variables to the values provided.

I think the answer is:

public Clock(int hours, boolean isTicking, Integer diff){
this.hours=hours;
this.isTicking=isTicking;
this.diff;
}

but I get this error message:

CTest.java:9: not a statement
this.diff;
^
1 error

Thanks.

>this.diff;
This doesn't do very much, maybe you should assign diff to it:

public Clock ( int hours, boolean isTicking, Integer diff )
{
  this.hours = hours;
  this.isTicking = isTicking;
  this.diff = diff;
}

Though that might not be such a good idea because Integer is an object reference, and this.diff would then be a reference to the object that diff refers to. You might consider cloning diff and assigning it to this.diff:

public Clock ( int hours, boolean isTicking, Integer diff )
{
  this.hours = hours;
  this.isTicking = isTicking;
  this.diff = diff.clone();
}

that isn't correct.

The error messages are:

To create an Integer object you would have to use the new keyword .

CTest.java:10: clone() has protected access in java.lang.Object
this.diff = diff.clone();
^
CTest.java:10: incompatible types
found : java.lang.Object
required: java.lang.Integer
this.diff = diff.clone();
^
2 errors

Thanks!!

Show us the class, I'm tired of playing this guessing game.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.