JAVA classes with Instance Variable DUE IN 10 Min !!! |
JAVA classes with Instance Variable DUE IN 10 Min !!! |
![]()
Post
#1
|
|
![]() Senior Member ![]() ![]() ![]() ![]() ![]() Group: Human Posts: 525 Joined: Nov 2008 Member No: 695,913 ![]() |
Write a class named ParkingMeter containing:
Two instance variables named timeLeft and maxTime of type int. The value of timeLeft should be initialized to 0. A constructor accepting a single integer parameter whose value is used to initialize the maxTime instance variable. A method named add that accepts an integer parameter. If the value of the parameter is equal to 25, the value of timeLeft is increased by 30; otherwise no increase is performed. Furthermore, the increase occurs only if the value of timeLeft will not exceed the value of maxTime . add returns a boolean value: true if timeLeft was increase, false otherwise. A method named tick that accepts no parameters and returns no value. tick decreases the value of timeLeft by 1, but only if the value of timeLeft is greater than 0. A method named isExpired that accepts no parameters. isExpired returns a boolean value: true if the value of timeLeft is equal to 0; false otherwise. CODE public class ParkingMeter { int timeLeft = 0; int maxTime; public ParkingMeter( int max) { maxTime = max ; } public boolean add ( int coin ) { if ( coin == 25 ) { if ( timeLeft +30 <maxTime ) { timeLeft += 30; return true; } } return false; } public void tick() { if ( timeLeft > 0 ) { timeLeft += 1; } } public boolean isExpired() { return timeLeft == 0; } } here are the errors i get Remarks: ⇒ Your add method doesn't modify timeLeft when the new value of timeLeft equals to maxTime Remarks: ⇒ At Execution Problems Detected: ⇒ isExpired() does not return the correct value Fails When: ⇒ isExpired is false |
|
|
![]() |
![]()
Post
#2
|
|
![]() Senior Member ![]() ![]() ![]() ![]() ![]() ![]() Group: Administrator Posts: 2,648 Joined: Apr 2008 Member No: 639,265 ![]() |
Your one line in add should read like this:
CODE if (timeLeft + 30 <= maxTime) { Note the <= maxTime. Also, tick() should do this: CODE timeLeft--; Note that you should decrement, not increment. |
|
|
![]() ![]() |