gpt4 book ai didi

java - BMR 计算器测试

转载 作者:行者123 更新时间:2023-11-28 20:53:59 35 4
gpt4 key购买 nike

当我刚刚完成一个关于锻炼和 BMR 项目的测试课时,当我指向第二个“BMR”时出现“找不到符号”的错误,同时让每个不同的人使用测试。据我所知,实际的 bmr 类工作正常,因为它没有给我任何错误。

测试类:

public class BMRTest {
public static void main(String[] args) {
BMR bmr1 = new BMR("Test Person1", 123, 128, 30, 'm', 2);
BMR bmr1 = new BMR("Test Person2", 156, 115, 24, 'f', 1);
BMR bmr1 = new BMR("Test Person3", 136, 147, 19, 'm', 5);
BMR bmr1 = new BMR("Test Person4", 145, 192, 24, 'm', 4);
BMR bmr1 = new BMR("Test Person5", 125, 121, 44, 'f', 3);

System.out.println("1" + bmr1.calculateBMRWithExercise());
System.out.println("2" + bmr1.calculateBMRWithExercise());
System.out.println("3" + bmr1.calculateBMRWithExercise());
System.out.println("4" + bmr1.calculateBMRWithExercise());
System.out.println("5" + bmr1.calculateBMRWithExercise());
}
}

实际 BMR 等级:

public class BMR {

private String Name;
private float weight;
private float height;
private int age;
private char gender;
private int exercise; //1-5

//BP
public BMR(String n, float w, float h, int a, char g, int e) {
n = Name;
w = weight;
h = height;
a = age;
g = gender;
e = exercise; //1-5
}

//CALCULATE
public float calculateBMR() {
float rv;

if (gender == 'f') {
rv = femaleBMR();
} else {
rv = maleBMR();
}
return rv;
}

//MALE BMR
private float maleBMR() {
return 66 + 6.23f * weight + 4.7f * height - 6.8f * age;
}

//FEMALE BMR
private float femaleBMR() {
return 655 + 4.35f * weight + 12.7f * height - 4.7f * age;
}

//EXERCISE ADJUSTMENT
public float calculateBMRWithExcercise() {
float rv = 0;
float bmr = calculateBMR();

switch (exercise) {
case 1:
rv = bmr * 1.2f;
break;

case 2:
rv = bmr * 1.375f;
break;

case 3:
rv = bmr * 1.55f;
break;

case 4:
rv = bmr * 1.725f;
break;

case 5:
rv = bmr * 1.9f;
break;

default:
System.out.println("Error");
break;
}
return rv;
}
}

最佳答案

在您的测试代码中,您试图多次声明同一个对象。尝试为每个测试用例创建一个单独的对象,如下所示:

public static void main(String[] args) {
BMR bmr1 = new BMR("Test Person1", 123, 128, 30, 'm', 2);
BMR bmr2 = new BMR("Test Person2", 156, 115, 24, 'f', 1);
BMR bmr3 = new BMR("Test Person3", 136, 147, 19, 'm', 5);
BMR bmr4 = new BMR("Test Person4", 145, 192, 24, 'm', 4);
BMR bmr5 = new BMR("Test Person5", 125, 121, 44, 'f', 3);

System.out.println("1" + bmr1.calculateBMRWithExercise());
System.out.println("2" + bmr2.calculateBMRWithExercise());
System.out.println("3" + bmr3.calculateBMRWithExercise());
System.out.println("4" + bmr4.calculateBMRWithExercise());
System.out.println("5" + bmr5.calculateBMRWithExercise());
}

关于java - BMR 计算器测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33384570/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com