Java Division错误

我有以下变量:

int first = 0; int end = 0; 

在公共课上宣布。

在一个方法中:

 double diff = end / first; double finaldiff = 1 - diff; 

System.out.println上的end变量是527 ,第first480

为什么差异的答案是1 ? 它应该是1.097916667 ,我以为使用double可以让我计算成小数?

除以两个int将得到一个int ,然后隐式转换为double 。 在分裂之前施放一个到double

 double diff = (double)end / first;