我目前有这段代码:
int kills = 1;
int deaths = 2;
double kdr = 0;
if(kills > 0 && deaths == 0) {
kdr = kills;
} else if(kills > 0 && deaths > 0){
kdr = kills/deaths;
}
System.out.println(kdr);
您可以对其进行测试here。
为什么输出为0.00而不是0.5?
答案 0 :(得分:3)
如果kills/deaths
< 1,你得到0
,因为整数除法的输出是整数。然后将此0
转换为0.0
以适合您存储它的double
变量。
为了获得非整数结果,您必须将其中一个数字转换为加倍:
kdr = (double)kills/deaths;
答案 1 :(得分:1)
因为您的输入值是整数。如果你将其中一个投射到一个双倍,你会得到预期的结果:
kdr = (double)kills/deaths;