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 trialJason Scruggs
567 PointsHow to create a method named "charge"
I'm confused about how to create the method. Do I first need to create a variable (?) named charge? Is the method defined inside the curly brackets? Any help is appreciated.
class GoKart {
public static final int MAX_BARS = 8;
private String color;
public GoKart(String color) {
this.color = color;
}
private int barCount;
public String getColor() {
return color;
}
}
2 Answers
pet
10,908 Pointspublic GoKart(String color)
This defines the method Gokart
Nathaniel Meyer
8,175 PointsMethods are defined like rather like functions. The variable you need, barCount, is already defined.
The method could look like this:
public void charge() { barCount = MAX_BARS; }
And it can go anywhere inside the class (except not inside another method) like this:
class GoKart { public static final int MAX_BARS = 8; private String color;
public GoKart(String color) { this.color = color; }
private int barCount;
public String getColor() { return color; }
public void charge() { barCount = MAX_BARS; } }
It's good housekeeping to put variables and constants at the top of the class, then the constructor (which you call with the "new" keyword when you make a new GoKart), then getters and setters, and then other methods.
Lastly, I used the keyword void assuming this method doesn't need to report back. If you needed the method to report its success or failure you could declare it boolean and return true (if it charges successfully) or false (if it's already full charged.) That could look like this:
public boolean charge() { if (barCount < MAX_BARS) { barCount = MAX_BARS; return true; } return false; }