为什么这个表达式继续评估为0

时间:2015-11-20 00:33:04

标签: java math

以下value1一直评估为0,即使player1Disks和player2Disks都高于零且不相等。

int value1 = Math.round(100 * ((player1Disks - player2Disks)/(player1Disks + player2Disks)));`

以下是player1Disksplayer2Disks的一些示例输入: [5,8], [6,8], [8,4], etc.

然而,所有这些都评估为零。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

在您呈现的三种情况下,整数除法的结果为00*100仍然等于0

您应首先乘以100,然后除以。或者更好的是,不要使用int

第一个:-3/13 = 0

第二个:-2/14 = 0

第三个:-4/12 = 0

相关问题