gpt4 book ai didi

java - 我的 BMI 计算器出了什么问题?

转载 作者:行者123 更新时间:2023-12-01 11:24:39 25 4
gpt4 key购买 nike

我正在尝试制作一个BMI计算器,它调用一个单独类的方法来计算bmi,然后在主方法中继续。下面是我的源代码。

import java.util.Scanner;

public class testBMI
{
public static void main(String[] args)
{
String name;
double bmi;
String bmiClass;
char z;

Scanner readinput = new Scanner(System.in);

do
{
System.out.print("Please enter your name: ");
name = readinput.nextLine();

BMI.calculateBMI();

if (bmi < 18.5)
{
bmiClass = "(Underweight)";
}
else
if (bmi >= 18.5 && bmi <= 25)
{
bmiClass = "(Normal)";
}
else
if (bmi > 25.0 && bmi <= 30.0)
{
bmiClass = "(Overweight)";
}
else
bmiClass = "(Obese)";

System.out.println(name + ", your BMI is " +bmi+ "" +bmiClass+ ".");
System.out.print("Type Y or y to continue, or any other key to quit: ");
z = readinput.next().charAt(0);
} while (z == 'Y' || z == 'y');
}
}

另一个类:

import java.util.Scanner;

public class BMI
{

public static void calculateBMI()
{

Scanner readinput = new Scanner(System.in);

double weight;
double height;
double newWeight;
double newHeight;
double bmi;

System.out.print("Please enter your weight in pounds: ");
weight = readinput.nextInt();

System.out.print("Please enter your height in inches: ");
height = readinput.nextInt();

newWeight = weight * 0.45359237;

newHeight = height * 0.0254;

bmi = newWeight/(newHeight*newHeight);

}
}

编译这些文件时,我成功编译了我的方法类(第二个片段),但第一个片段出现 1 个错误,内容如下:

testBMI.java:21: error: variable bmi might not have been initialized
if (bmi < 18.5)
^
1 error

变量 bmi 显然已声明,但初始化(实际值添加到变量中)发生在单独的方法中,但是,我不确定为什么 main 方法没有从第二个方法的运行中识别出它的初始化方法。请告诉我我做错了什么。

最佳答案

您需要返回 BMI 类别中的 bmi 值。当您检查 testBMI 类中的 bmi 值时,它仅在您的 BMI 类中本地初始化,而不是 testBMI 类中。

关于java - 我的 BMI 计算器出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30927679/

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