For this question, you will be working within the Person
class. We will be using the Person
and Car
classes from the previous question...
X985: Object Oriented Design 3
For this question, you will be working within the Person
class.
We will be using the Person
and Car
classes from the previous
question again, but adding in a third class called Wallet
.
public class Person
{
public Car car;
public Wallet wallet;
public Person(Car c)
{
this.car = c;
// person will always start with $100 USD
this.wallet = new Wallet(100.00);
}
}
public class Car
{
// miles the car can go with a full tank
private int totalMiles;
// miles left before we need to get gas
private int milesUntilGas;
// when a car is created it has a full tank of gas
public Car(int miles)
{
this.totalMiles = miles;
this.milesUntilGas = miles;
}
/**
* Drives the car the specified number of miles.
* We can't drive more miles than we have gas for.
*
* @param miles, int number of miles to drive
* @return true if car successfully drives, otherwise false
*/
public boolean drive(int miles)
{
if (miles <= this.milesUntilGas)
{
this.milesUntilGas = this.milesUntilGas - miles;
return true;
}
return false;
}
/**
* Represents filling up the gas tank of the car.
*/
public void fillUpGasTank()
{
this.milesUntilGas = totalMiles;
}
}
public class Wallet
{
private double cashOnHand;
public Wallet(double cash)
{
this.cashOnHand = cash;
}
public boolean canAfford(double price)
{
return price <= this.cashOnHand;
}
public void purchase(double price)
{
this.cashOnHand = this.cashOnHand - price;
}
public double getCashOnHand()
{
return cashOnHand;
}
}
This time, you will be completing a method within the Person
class called getGas()
that takes in a double representing the total price of gas. Finish the method such that if the person can afford to get gas, they do so and return the value true
. Otherwise do not get gas and return false
.
Your Answer:
Feedback
Your feedback will appear here when you check your answer.