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 trialSeemant Shekhar
228 Pointshow to solve this
i made a method which is void and public but its not working
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 static void charge(barCount){
barcount = MAX_BARS;
}
}
1 Answer
Joseph Wasden
20,406 PointsYou are close. However, you don't need to declare the charge() method to static. (Static means you can access the method without an instance of GoKart, which we wouldn't need to set the charge of a GoKart until it is instantiated) and you don't need to pass in barCount as an argument of the charge method; just change it directly in the method. I've added the this keyword in the charge method so that we are charging that instance of GoKart's barCount.
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(){ // no need to pass in barCount, so removed from the argument list
this.barCount = MAX_BARS; //use the "this" keyword to set the given instantiation of GoKart's barcount value to MAX_BARS
}
}
Seemant Shekhar
228 PointsSeemant Shekhar
228 PointsThnx for helping...
Joseph Wasden
20,406 PointsJoseph Wasden
20,406 Pointsyep. Good luck!