我正在尝试使用名为getBMI的静态方法中的变量:
public static double getBMI(int weightKG, int heightCM)
{
Scanner input = new Scanner(System.in);
// Input Weight
System.out.print("Enter your weight in kilograms: ");
weightKG = input.nextInt();
System.out.println();
// Input Height
System.out.print("Enter your height in centimeters: ");
heightCM = input.nextInt();
System.out.println();
return heightCM;
return weightKG;
}
并在另一个名为calculateMetricBMI的静态方法中使用它:
public static void calculateMetricBMI()
{
getBMI();
System.out.println("A body mass index of 20-25 is considered \"normal\"");
double bmiMetric = weightKG/Math.pow(heightCM/100.0, 2);
System.out.print("Your BMI is " + bmiMetric);
}
但是,我在尝试getBMI()时遇到错误;在calculateMetricBMI中。
编辑:
决定将参数添加到getBMI(); 现在它显示了getBMI(int weightKG,heightCM);
但是我收到了这个错误:
'的.class'预期
&#39 ;;'预期
&#39 ;;'预期
意外类型 要求:价值 发现:上课
答案 0 :(得分:1)
您收到错误是因为您在参数中没有任何内容调用getBMI(),需要调用2个整数。
您也无法从1种方法中返回2个变量。
试试这个:
public static void calculateMetricBMI() {
double weightKG = getWeight();
double heightCM = getHeight();
System.out.println("A body mass index of 20-25 is considered \"normal\"");
double bmiMetric = weightKG/Math.pow(heightCM/100.0, 2);
System.out.print("Your BMI is " + bmiMetric);
}
public static double getWeight() {
Scanner input = new Scanner(System.in);
// Input Weight
System.out.println("Enter your weight in kilograms: ");
double weightKG = input.nextInt();
return weightKG;
}
public static double getHeight() {
Scanner input = new Scanner(System.in);
// Input Height
System.out.println("Enter your height in centimeters: ");
double heightCM = input.nextInt();
return heightCM;
}
在您的主要电话中
calculateMetricBMI();
这是一个非常冗余的解决方案,你总是可以在calculateMetricBMI()中询问输入,而不必调用其他2个方法。
答案 1 :(得分:0)
您不能在方法中同时返回两个值。但是,我更改了您的代码以直接返回您的计算结果。
如果您要在其中初始化参数,则您的方法不需要参数。只需在方法中创建它们。
如果您愿意使用带参数的方法,当您调用该方法时,您当然应该使用参数
getBMI()
在这里不起作用,你应该以{{1}}为例,但这是一个不好的例子,因为它无论如何都不会起作用。
请看下面的代码,它更清晰,会让你获得更好的结果。
getBMI(50.0, 165.0)
答案 2 :(得分:0)
你需要用两个paremters来呼叫getBMI();
。
此外,您不能返回2个不同的变量,尽管这可能会导致语法错误。
另外需要注意的是,您需要保存getBMI();
发送给您的内容。
例如:int weightKG = getBMI()
和getBMI()
应该只返回一个值,而不是您在代码中描述的两个值。