Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Java Objects Harnessing the Power of Objects Computed Properties

Steve Wofford
Steve Wofford
2,485 Points

Cant get value to become true.

Why wont the method work?

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

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

  public String getColor() {
    return color;
  }

  public void charge() {
    barCount = MAX_BARS;
  }

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

3 Answers

Oh i spell wrong function name isFullyCharge should be isFullyCharged

anyway, here is final code, and this works for me on challenge

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

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

  public String getColor() {
    return color;
  }

  public void charge() {
    barCount = MAX_BARS;
  }

  public boolean isBatteryEmpty() {
    return (barCount == 0) ? true : false;
  }

  public boolean isFullyCharged() {
    return (barCount == MAX_BARS) ? true : false;
  }
}
Steve Wofford
Steve Wofford
2,485 Points

thanks so much Ivan. I appreciate the help!

Paul Lave
Paul Lave
2,714 Points

All that is being returned is a barCount == 0. This doesn't give an option for true or false, just that it equals 0. The following setup will return true if the bar count equals 0 or false if it does not.

public boolean isBatteryEmpty() { if(barCount == 0) { return true; } else { return false; } }

Hope that helps!

you can do it like this:

public boolean isBatteryEmpty() {
  if (barCount == 0) {
     return true;
  } else {
     return false;
  }
}

or shortly

public boolean isBatteryEmpty() {
    return (barCount == 0) ? true : false;
}

Second part of challenge

public boolean isFullyCharge() {
    if (barCount == MAX_BARS) {
             return true; 
        } else {
             return false;
        }
}

or

public boolean isFullyCharge() {
    return (barCount == MAX_BARS) ? true : false;
}
Steve Wofford
Steve Wofford
2,485 Points

I've tried both the short way and the long way. I've even tried copy/paste. Still wont run the code.