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 trialprincess mudyahoto
18,502 Pointsjava objects
Challenge Task 1 of 2
Some users of our GoKart class wrote and asked that our drive method accept a parameter to specify how many laps to go, instead of just one. It happens, well hey at least you can practice your addition and subtraction shortcuts.
Modify the drive method to define a parameter of how many laps should be driven. Update the method body to handle the new parameter.
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() {
lapsDriven++;
barCount--;
}
}
6 Answers
lloyso
14,141 PointsMy apologies I made an error in the fist code I posted the one I posted 2nd is the correct one.
Ronaldo Cristiano
488 Points 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 lapsRemaining) {
lapsDriven += lapsRemaining;
barCount -= lapsRemaining;
}
}
lloyso
14,141 Pointspublic class GoKart { public static final int MAX_BARS= 8; private String mColor; 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() { lapsDriven++; barCount--; } }
lloyso
14,141 Pointsclass 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+= laps; barCount-= laps; } }
lloyso
14,141 Points//For question 2 you need to have the following:
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+= laps;
barCount-= laps;
}
public void drive() { drive(1); }
}
princess mudyahoto
18,502 PointsThnx
princess mudyahoto
18,502 Pointsbest answer
Emin Seçkin
2,949 Pointspublic void drive(int lapsRemaining) {
lapsDriven += lapsRemaining;
barCount -= lapsRemaining;
}
I still can't understand in drive method why lapsDriven is equal to lapsDriven + lapsRemaining.