Java Java Objects Harnessing the Power of Objects Throwing Exceptions

plz help me with this task

how to do this one. I am confused

GoKart.java
class GoKart {
  public static final int MAX_BARS = 8;
  private String color;
  private int barCount;
  private int lapsDriven;

  public GoKart(String color) {
    this.color = color;
  }

  public String getColor() {
    return color;
  }
  public void charge() {
    barCount = MAX_BARS;
  }

  public boolean isBatteryEmpty() {
    return barCount == 0;
  }

  public boolean isFullyCharged() {
    return MAX_BARS == barCount;
  }

  public void drive() {
    drive(1);
  }

  public void drive(int laps) {
    lapsDriven += laps;
    barCount -= laps;
    int newLaps = barCount + lapsDriven;
    if (newLaps > MAX_BARS) {
      throw new IllegalArgumentException("there are no bars to support");
  }
  barCount = newLaps;
}
}

1 Answer

<noob />
<noob />
16,609 Points

Hi, u got the basic idea but it's not what they wanted u to do.

//first u check if the requested laps is greater than the current barCount supply
    if(laps > barCount) {
//if it return true then u throw a error and the program stop the execution  of the code.
      throw new IllegalArgumentException("Not enough energy bars!");
    }
//if the statement return false then u can add laps to lapsDriven and  use the barCount to make those laps.
    lapsDriven += laps;
    barCount -= laps;
  }