小编典典

Java中的除法总是导致零(0)吗?

java

下面的函数从sharedpreferences中获取两个值,体重和身高,我用它们来计算BMI,当我打印这些值的内容时,我得到了我在sharedprefs中输入的值(很好),但是当我运行时对它们进行除法运算后,结果总是为0。错误在哪里?

public int computeBMI(){
    SharedPreferences customSharedPreference = getSharedPreferences(
            "myCustomSharedPrefs", Activity.MODE_PRIVATE);

    String Height = customSharedPreference.getString("heightpref", "");
    String Weight = customSharedPreference.getString("weightpref", "");

    int weight = Integer.parseInt(Weight);
    int height = Integer.parseInt(Height);
    Toast.makeText(CalculationsActivity.this, Height+" "+ Weight , Toast.LENGTH_LONG).show();

    int bmi = weight/(height*height);
    return bmi;

}

阅读 446

收藏
2020-03-17

共1个答案

小编典典

你正在执行整数除法。

你需要将一个操作数强制转换为double

2020-03-17