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 trialAndy Stevens
Front End Web Development Techdegree Graduate 20,417 PointsIncorrect output returned.
Hi all,
I am playing around developing a fitness application, at present I am trying to return a users BMI. However, my output returns 0 and I'm not entirely sure where I'm going wrong, I think my constructor is correct and assume it's my getter that's letting me down?
BodyMass.java
public class BodyMass {
private int weight;
private int height;
public BodyMass(){
this.weight = weight; // Weight in KG
this.height = height; // Height in meter squared
}
public int getBodyMass(int weight, int height){
height = height * 2;
return weight/height;
}
}
FitnessApplication.java
public class FitnessApplication {
public static void main(String[] args) {
// write your code here
BodyMass bmi = new BodyMass();
System.out.println(bmi.getBodyMass(100, 180));
}
}
1 Answer
Steven Parker
231,248 PointsIt's just the formula and the arguments. If you pass in 100 and 180 for "weight" and "height", then the return will be 100 / 360 converted into an integer, which is 0.
And while unrelated to this issue, the constructor looks like it's intended to store arguments but it isn't declared to take any.
Andy Stevens
Front End Web Development Techdegree Graduate 20,417 PointsAndy Stevens
Front End Web Development Techdegree Graduate 20,417 PointsOf course, the value returned is actually a floating point number. I assume if I change the getter to return a double or float this will solve my issue.
Iām missing something regarding your comment about my constructor. What have I done wrong?
Steven Parker
231,248 PointsSteven Parker
231,248 PointsIt looks like you intended for the constructor to take arguments, otherwise it doesn't really do anything:
public BodyMass(int weight, int height){
Happy coding!