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 trialJoel Tawembe
4,146 PointsCreate a new method named drive that accepts no arguments. It should call the newer drive method passing in a 1 for the
This is the code I have been using but it is not working public void drive () { drive (1);
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(int laps) {
lapsDriven+=2;
barCount-=2;
public void drive(){
drive (1);
}
}
}
}
2 Answers
Caleb Kemp
12,754 PointsYou think, it seems like I'm doing exactly what the teacher told me to do, but I'm getting this error
Bummer:
java.lang.IllegalArgumentException: ParseException:
What is going on?
Well, you actually have 2 problems going on, however, only one of them is making it fail. 1st the critical error. The problem is that you accidentally placed the new method inside of the old, so this...
public void drive(int laps) {
lapsDriven+=2;
barCount-=2;
public void drive(){
drive (1);
}
}
}
should become
public void drive(int laps) {
lapsDriven+=2;
barCount-=2;
}
public void drive(){
drive (1);
}
Second problem
the public void drive(int laps)
method is supposed to increase the value of lapsDriven
by whatever the value of laps that was passed in. Right now, it doesn't matter how many laps you pass in, it always increases it by 2. This is incorrect, however, the challenge will not fail you for this. To fix it change,
public void drive(int laps) {
lapsDriven+=2;
barCount-=2;
}
to
public void drive(int laps) {
lapsDriven+=laps;
barCount-=laps;
}
Joel Tawembe
4,146 PointsThank you very much Caleb it worked