1. ホーム
  2. java

[解決済み] Javaで数値の累乗を行う

2022-03-09 20:45:39

質問

以下は私のコードです。 なぜか私のBMIは正しく計算されません。 このために電卓で出力をチェックすると: (10/((10/100)^2))) 1000と出ますが、私のプログラムでは5と出ます。 何が間違っているのかよくわかりません。 以下は私のコードです。

import javax.swing.*;

public class BMI {
    public static void main(String args[]) {
        int height;
        int weight;
        String getweight;
        getweight = JOptionPane.showInputDialog(null, "Please enter your weight in Kilograms");
        String getheight;
        getheight = JOptionPane.showInputDialog(null, "Please enter your height in Centimeters");
        weight = Integer.parseInt(getweight);
        height = Integer.parseInt(getheight);
        double bmi;
        bmi = (weight/((height/100)^2));
        JOptionPane.showMessageDialog(null, "Your BMI is: " + bmi);
    }
}

解決方法は?

^ は、javaでは "raise to a power "の意味ではない。XORを意味する。

javaの Math.pow()


また double の代わりに int -ということです。

double height;
double weight;

なお 199/100 は1と評価されます。