import java.util.Scanner;
public class BMR
{
public static void main(String[] args)
{
//object to use the keyboard input methods
Scanner in = new Scanner(System.in);
//ask the user to provide input
System.out.print("Enter your name: ");
String name = in.next();
System.out.print("Gender (M of F): ");
String gender = in.next();
System.out.print("Enter your age: ");
String age = in.next();
System.out.print("Height in inches: ");
String height = in.next();
System.out.println("Weight in pounds: ");
String weight = in.next();
System.out.println();
System.out.println();
//convert measurements to metric units
double ageNum = Double.parseDouble(age);
double heightNum = Double.parseDouble(height);
double weightNum = Double.parseDouble(weight);
double heightCm = heightNum * 2.54;
double weightKilo = weightNum * 0.453592;
//calculate the BMR for males or females
double bmr;
if (gender == "M")
bmr = (13.397 * weightKilo) + (4.799 * heightCm) - (5.677 * ageNum) + 88.362;
else if (gender == "F")
bmr = (9.247 * weightKilo) + (3.098 * heightCm) - (4.330 * ageNum) + 447.593;
else
System.out.println("Please enter either M or F. I apologize for the gender binary.");
//display output
System.out.println("Calculate Your Basal Metabolism");
System.out.println();
System.out.println("Name: " + name);
System.out.println("Gender: " + gender);
System.out.println("Age: " + age);
System.out.println("Weight (kg): " + weightKilo);
System.out.println("Height (cm): " + heightCm);
System.out.println("Basal Metabolic Rate: " + bmr + " calories per day");
}
}
我必须为我的在线课程编写此代码来计算某人的基础代谢率。每次运行它时,我都会收到一个错误消息,说变量bmr可能没有被初始化。但我在条件语句中初始化了它。我究竟做错了什么?谢谢!变量bmr可能尚未初始化
您需要初始化bmr,如错误消息所示,您只声明了it.Inialialize为double bmr = 0.0; – Suman
搜索错误:[\ [java \]变量可能尚未初始化](http://stackoverflow.com/search?q=%5Bjava%5D+variable+might+not+have+been+initialized)和你会发现*很多*重复。其实,甚至不搜索。只要看看相关的问题 - 不妨现在就去做,因为在提出问题时显然忽略了这些建议。 – user2864740