在编码方面,我是一个完整的初学者。我目前正在当地的社区学院上课。我们已经获得了一项任务,可以创建一个计算用户BMI(体重指数)的程序。
我设法创建了程序的基础结构,用户在那里输入了重量和高度并将其计算到BMI中,然而,我有一个难以创建的标准。
其中显示以下
的任何无效输入示例互动
请输入您的身高(英寸):20
抱歉,您输入的无效高度
请输入您的身高(英寸):62
请以磅为单位输入您的体重:x
对不起,您没有输入以磅为单位的数字
我有点想法,因为人们建议使用try,catch语句。我尝试过,但我似乎可以解决这个问题。
import java.util.*;
public class BMI {
public static void main(String[ ] arg){
// BMI calculator
Scanner keyboard = new Scanner ( System.in );
final double BMI_CONVERSION = 703.0; // pounds/inches to kilograms/meters for BMI calculations
double bodyMassIndex;
double height = 0;
double weight = 0;
String BMICategory = "";
// user inputs
// inches
System.out.print( "What's your height in inches? ");
height = keyboard.nextDouble();
// Pounds
System.out.print( "What's you weight in pounds? ");
weight = keyboard.nextDouble();
// Calculate BMI
bodyMassIndex = weight * BMI_CONVERSION / (height * height);
if (bodyMassIndex < 18.5)
{
BMICategory = "considered at a underweight";
}
else if (bodyMassIndex >= 18.5 && bodyMassIndex <= 25)
{
BMICategory = "considered at a optimal weight";
}
else
{
BMICategory = "considered overweight";
}
// output
System.out.println( "Your BMI is: " + bodyMassIndex + ", You are " + BMICategory + ".");
}
}
答案 0 :(得分:0)
如果你想使用exception.Exception意味着你将在函数之外有一个try / catch块,它会引发异常。
1) - 创建具有必要文件以进行计算的类,并计算方法。
2) - 创建对输入周期有响应的类,每个varialbe都有单独的函数。如果值无效,则此方法应抛出异常。创建将调用所有必需函数以读取数据并将其关闭到try / catch块的主函数 喜欢这个
public BMI masterFunc(){
try{
readFirst();
readSecond();
//etc....
BMI obj = new BMI();
//set you params to new created class BMI
//and return it from func
return obj;
}catch(Exception e){
return null;
}
}
现在你可以将它放在主循环中,如
BMI obj = null;
while(obj == null)
BMI obj = ReaderClass.masterFunc();
希望我能回答你的问题!
答案 1 :(得分:-1)
查看&#34; public void functionName() throws InvalidInputException
&#34;。
答案 2 :(得分:-1)
首先,将代码放在上面并寻求帮助是违反网站规则的。
无论如何,在你的代码中你需要循环你的输入(当值设置为true的循环是最好的选择),在这个循环中你检查输入是否符合你的标准。如果是,那么你就会脱离循环。
通过这种方式,您可以坚持自己的标准并最终获得BMI。
P上。 S.这里使用的概念是循环和断开循环,您可以在线查看一些示例以便更好地理解