简单的Java数学运算

use*_*056 0 java math numbers

我正在制作一个似乎不起作用的BMI计算器.

我的答案一直是0,应该是15.7

有人能告诉我这里我做错了什么吗?

public class ass10 {

    public static void main(String[] args) {
    bmi(223,100);
    }
    public static bmi(int w, int h){
        double result;
        result = (w/(h*h))*703
        System.out.println(result)             
    }

}
Run Code Online (Sandbox Code Playgroud)

Pea*_*oto 8

在Java中,如果你取一个int/int,你得到一个int,四舍五入到较低的数字(99/100=0).你想把它作为一个浮点数,或者更好,一个双重.

public static void bmi(int w, int h){
    double result;
    result = ((double)w/(h*h))*703;
    System.out.println(result);         
}
Run Code Online (Sandbox Code Playgroud)

我还修复了2个缺少的分号;-)如果没有返回类型,你的函数将无法工作,所以我将其设置为void.

  • +1实际上int/int向0舍入而不是最近的.99/100 => 0 (2认同)