私は基本的なコマンドラインBMI電卓をJavaでコード化しようとしていますが、コードを実行して高さと重量を入力するたびに何らかの理由で0が出力されます。私が間違っている箇所を理解するのを手伝ってください。BMI電卓Javaの不正な出力
Enter your height in inches:
68
Enter your weight in lbs:
180
Your BMI is 0.
私は基本的なコマンドラインBMI電卓をJavaでコード化しようとしていますが、コードを実行して高さと重量を入力するたびに何らかの理由で0が出力されます。私が間違っている箇所を理解するのを手伝ってください。BMI電卓Javaの不正な出力
Enter your height in inches:
68
Enter your weight in lbs:
180
Your BMI is 0.
をあなたは、int
でint
を分割しているので、結果が丸みを帯びたint
次のとおりです。次のように
import java.util.Scanner;
public class Chap2 {
public static void main(String[] args){
Scanner reader = new Scanner(System.in);
System.out.println("Enter your height in inches: ");
int myHeight = reader.nextInt();
System.out.println("Enter your weight in lbs: ");
int myWeight = reader.nextInt();
int Bmi = (myWeight/myHeight/myHeight)*703;
System.out.println("Your BMI is " + Bmi + ".");
}
}
そして、私の出力です。 正確な結果を得るために計算の前に倍精度化するためにキャストします。
double bmi = ((double) myWeight/myHeight/myHeight) * 703;
'(703 * myWeight/myHeight/myHeight)'に変更した場合、状況は変わります。根本的な原因は、複製に記載されています。 –