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

下面的函数从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;

}

回答:

你正在执行整数除法。

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

以上是 Java中的除法总是导致零(0)吗? 的全部内容, 来源链接: utcz.com/qa/405484.html

回到顶部