关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
上个月关门了。
改进这个问题
我的任务是从uml图中实现类和属性
我的代码:
public abstract class Human {
private String name;
private String firstname;
private int age;
private Gender gender;
private String adress;
private int height;
private int weight;
public enum Gender {
MALE, FEMALE
}
public enum BMI {
NORMAL, UNDERWEIGHT, OVERWEIGHT
}
// TODO Auto-generated constructor stub
public static void main(String[] args) {
// TODO Auto-generated method stub
}
private String getName() {
return name;
}
private void setName(String name) {
this.name = name;
}
private String getFirstname() {
return firstname;
}
private void setFirstname(String firstname) {
this.firstname = firstname;
}
private int getAge() {
return age;
}
private void setAge(int age) {
this.age = age;
}
private Gender getGender() {
return gender;
}
private void setGender(Gender gender) {
this.gender = gender;
}
private String getAdress() {
return adress;
}
private void setAdress(String adress) {
this.adress = adress;
}
private int getHeight() {
return height;
}
private void setHeight(int height) {
this.height = height;
}
private int getWeight() {
return weight;
}
private void setWeight(int weight) {
this.weight = weight;
}
}
我的另一个任务是:
bmi()的计算公式如下:体重(kg)/(身高(m))^2
在计算时,我必须注意单位。使用math.round正确地对结果进行四舍五入。我也可以在这里使用math.pow。
我的想法是:
public static long bmi(double weightInKg, double heightInMeters) {
return Math.round(weightInKg / Math.pow(heightInMeters, 2));
}
但我的问题是这个方法的签名应该是: BMI(): double
我的是 BMI(): double double
那么如何改进我的代码呢?
1条答案
按热度按时间kpbwa7wx1#
在uml中,如果方法采用参数,它将被编写为
BMI(arg1, arg2)
或者也许BMI(arg1: double, arg2: double)
.方法调用上的冒号+类型是返回类型,而不是参数(正如您所想的那样)
double double
)除此之外,还有height和weight作为字段,因此方法确实需要参数(如uml所述),并且它需要返回double而不是long,并且不是静态的。