使用命令行参数输入来计算BMI

时间:2018-09-28 17:28:29

标签: java command-line command-line-arguments

第一个问题在这里。我必须使用先前的分配来计算BMI,并将其重新格式化以接受命令行参数作为身高和体重的输入。

“您的程序应通过main(String [] args)获得重量和高度,即,在运行程序时,您必须执行以下操作: java MyProgramName 180 5 7
其中MyProgramName是程序的名称,180是磅的重量,5是英尺,7是英寸值。 程序应在终端窗口中像以前一样输出BMI值(在下面的f)。”

我对如何在参数上执行操作数时如何将参数调用到代码中感到困惑。 这是我的原始代码:

'int weight;
int heightInInches;
int bmi;

Scanner keyboard = new Scanner(System.in);

System.out.print("Enter your weight in pounds: ");
weight = keyboard.nextInt();

System.out.print("Enter your height in inches: ");
heightInInches = keyboard.nextInt();

bmi = ((weight * 703)/(heightInInches * heightInInches));

System.out.println("Your height is " + heightInInches + " and your 
weight is: " + weight + " pounds");
System.out.println("Your BMI is " + bmi);'

我已经看到类似这样的东西,只是将两个数字相加,但是对于如何将其更改为BMI公式感到困惑。

int sum = 0;
for (int i = 0; i < args.length; i++) {
sum = sum + Integer.parseInt(args[i]);
}
System.out.println("The sum of the arguments passed is " + sum);

谢谢

1 个答案:

答案 0 :(得分:0)

您的public class ProgressDialog extends DialogFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.progress_bar, container); return rootView; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); setStyle(DialogFragment.STYLE_NO_FRAME, android.R.style.Theme); } } 看起来类似于s:String[] args

所以["180","5","7"]是你的体重。

args[0]将为heightInFeet(乘以12得到heightInInches)

args[1]将是高度的英寸部分

因此代码变为:

args[2]