콘텐츠로 이동

Unit 3 Mini Project Answer: Racing Garage

Complete Program

class RacingGarage {
    private String carName;
    private int targetHorsepower;
    private int currentHorsepower;

    public RacingGarage(String carName, int targetHorsepower) {
        this.carName = carName;
        this.targetHorsepower = targetHorsepower;
        this.currentHorsepower = 0;
    }

    public void addHorsepower(int horsepower) {
        currentHorsepower += horsepower;
    }

    public int getHorsepower() {
        return currentHorsepower;
    }

    public boolean reachedTarget() {
        return currentHorsepower >= targetHorsepower;
    }

    public String getSummary() {
        return carName + ": " + currentHorsepower + " / "
            + targetHorsepower + " HP";
    }
}

public class Main {
    public static void main(String[] args) {
        RacingGarage garage = new RacingGarage("Falcon GT", 500);

        garage.addHorsepower(220);
        garage.addHorsepower(310);

        System.out.println(garage.getHorsepower());
        System.out.println(garage.reachedTarget());
        System.out.println(garage.getSummary());
    }
}

Output

530
true
Falcon GT: 530 / 500 HP

Key Points

  • The constructor has no return type and initializes the object. this.carName and this.targetHorsepower refer to instance variables.
  • addHorsepower is a void method that changes state. The other methods return an int, boolean, and String value.