当我乘以这些数字时,输出不是我想要的

时间:2017-10-24 02:56:16

标签: java

public static void main(String[] args) {
    int n = 5;
     ArrayList<Integer> distances = new ArrayList<Integer> ();
    distances.add(70);
    distances.add(113);
    distances.add(1);
    distances.add(1700000000);
    distances.add(268000);
    int i =0;       
    while(n-->0 & i<5)
    {

        int distance = distances.get(i);

        int au = distance * (149597871 * 1000);
        System.out.println(au);
        i++;
    }
}
  

所以我的代码输出:

720702352
-431854056
-725984360
444733440
-1789971200
  

但输出应该是这样的:

10471850970000
16904559423000
149597871000
254316380700000000000 
40092229428000000
  

所以我的问题是如何解决这个问题,因为我不明白为什么它会给我错误的产品。仅供参考,如果你将方程式插入计算器就行了。

0 个答案:

没有答案