我似乎在自己的编程中迷失了自我。直接在下面是结果假设的样子。我迫切需要帮助,因为我是java编码的新手并且很快意识到我不是很擅长。请填写免费以根据需要更正代码。当我知道错误是什么时,我会学得更好。感谢您提供的任何帮助。
该程序实施健康援助计算器
考虑到体重,身高和年龄,它会计算:
BMI - 体重指数
每天保持体重所需的卡路里
请以磅为单位输入您的体重:150
请输入您的身高(英寸):66
请输入您的年龄:30
您的BMI是24.3
BMI在18.5到24.9范围内被认为是正常的
保持目前的体重:
男性每天需要2249卡路里
女性每天需要2018卡路里
方法1:显示程序将对用户执行的操作的说明的方法。 o此方法不具有任何参数或返回值。 方法2:计算人的BMI的方法。这种方法必须: o有2个参数:以千克为单位的重量和以米为单位的高度 o使用java.Math类中的pow方法来平方高度 o返回一个double值:计算的BMI 方法3& 4:计算热量需求的两种方法,一种用于男性,一种用于a 女人。每种方法都必须: o有3个参数:以千克为单位的重量,以米为单位的高度和年龄 o将高度转换为厘米。 o计算热量要求。 o使用java.Math类中的一种舍入方法将答案四舍五入 返回之前的数字。请注意,您可能需要使用强制转换来转换值 从java.Math方法返回到整数。 o返回一个整数值:维持当前体重所需的每日卡路里 方法5:显示结果的方法,没有返回值。这种方法必须: o有3个参数:一个人的BMI,男性的卡路里和女性的卡路里 o使用printf方法显示描述和BMI,四舍五入到小数点后一位 来自System.out类 o显示维持男性当前体重所需的每日卡路里 o显示维持女性当前体重所需的每日卡路里
enter code here
package healthy;
import java.util.*;
import java.lang.Math;
public class Healthy {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
printIntroduction();
double kg = .453592;
double feet = .3048;
double bmi = BMIinput(console);
double age = InputAge(console);
double Wt = InputWeight(console);
double Ht = InputHeight(console);
double MetricConvert = Metric();
String status = getStatus(bmi);
String converted = getConverted(MetricConvert);
}
//Prints program description
public static void printIntroduction(){
System.out.println("This program Implements a Health Assistance Calculator")
System.out.println("Given a Weight, Height, and age, it will compute: ");
System.out.println(" BMI - body mass index");
System.out.println(" Calories needed per day to maintain weight");
System.out.println("");
}
//Prompts user to input weight, height and age.
public static double BMIinput(Scanner console){
System.out.println("Please enter your weight in pounds: ");
double Inputweight = console.nextDouble();
System.out.println("please enter your height in inches: ");
double Inputheight = console.nextDouble();
System.out.println("please enter your age in years: ");
double InputAge = console.nextDouble();
return BMIto(weight, height);
}
// Calculates BMI based on user inputs
public static double BMIto(double weight, double height){
return weight / Math.pow(height, 2);
}
// convert input height and weight to metric
public static String getConverted(double Metricconvert){
double Ht * kg;
double Wt * feet;
return getConverted;
}
// displays Users Health status based off of bmi
public static String getStatus(double bmi) {
if (bmi < 18.5) {
return "A BMI below the range 18.5 to 24.9 is considered underweight}
} else if (bmi < 25) {
return "A BMI in the range of 18.5 to 24.9 is considered normal";
} else if (bmi < 30) {
return "A BMI above range of 18.5 to 24.9 is considered overweight";
} else {
return "A BMI over 30 is obese";
}
}
}
public static double round(double value, int digits) {
return Math.round(value * Math.pow(10, digits)) / Math.pow(10, digits);
}
}
答案 0 :(得分:0)
这段代码存在许多问题,包括它甚至不编译的事实。您有很多导致此问题的语法问题。
例如,方法getConverted(double Metricconvert)
中的局部变量声明被破坏。我不确定你想要的计算究竟是什么样的,但更正确的方法定义看起来像这样(这当然是基于你有字段Ht
和Wt
的事实,并且它们应该是类变量。
public static void getConverted(double Metricconvert) {
Ht = Metricconvert * kg;
Wt = Metricconvert * feet;
}
语法错误的另一个例子是您的String
个返回值之一的问题(这一个:A BMI below the range 18.5 to 24.9 is considered underweight
)。您已使用右括号结束该返回语句,并应使用引号"
关闭。
首先应修复此段代码中的语法错误,然后处理其他问题,例如输出错误。