Javaに関しては、私はまったくの初心者です。私がこれまでに知っていることは、大学でのソフトウェア開発クラスから学んだことです。私は自分でそれをいじっていましたが、入力として 2 つの double を取り、ユーザーの BMI (体格指数) を計算するアプリを作成することができました。
このプログラムは正常に動作し、やりたいことを正確に実行しますが、ユーザーが何も入力せずに Enter キーを押すと、例外がスローされます。ユーザーが数値以外を入力すると、例外がスローされます。例外がスローされると、プログラムは停止します。これらの例外がプログラムを完全に停止するのを止め、代わりにユーザーを入力ステージに戻し、エラー メッセージを表示したいと考えています。
私はそれがどのように行われたかについての考えを持っています。一部の人々は、try {..} catch (..) {..} コンストラクトの使用を提案しており、私も試しましたが、常にプログラムを壊すことができました。
誰にもアイデアはありますか?
それで、ここに私がこれまでに持っているコードがあります。何か問題がある場合は申し訳ありません。簡単にするためにコメントを追加しようとしました。
import java.io.*;
public class bmi {
public static void main(String[] args) throws IOException {
/**
* User input of weight and height.
*/
BufferedReader in;
in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter how much you weigh in KG.");
double weight = Double.parseDouble(in.readLine()); //take weight input as double
System.out.println("Please enter how tall you are in meters.");
double height = Double.parseDouble(in.readLine()); //take height input as double
/**
* BMI calculation
*/
double bmi = weight / Math.pow(height,2); // weight divided by height squared
/**
* if else statements to find if person is underweight, at a healthy weight or overweight.
*/
if (bmi<18.5) { //if BMI is smaller than 18.5
System.out.println("Your BMI is " + bmi + ", you are underweight.");
}
else if (bmi>=18.5 && bmi<=25) { //if BMI is bigger than or equal to 18.5 and smaller than or equal to 25
System.out.println("Your BMI is " + bmi + ", you are at a healthy weight.");
}
else if (bmi>25) { //if bmi is bigger than 25
System.out.println("Your BMI is " + bmi + ", you are overweight");
}
}
}
ありがとう。