这行代码:
System.out.println ("array[j], "+array[j]+", divided by sum, "+sum+", equals: array[j]/sum: "+ array[j]/sum) ;
正在建立这一行文字:
array [j],21,除以sum,100,equals:array [j] / sum:0
为什么这样做? (一切都是正确的,因为答案应该是.21)
答案 0 :(得分:3)
您确定阵列不是整数吗?
如果是,请尝试使用double。
答案 1 :(得分:2)
我假设aray
是int[]
而sum
是int
。在这种情况下,Java将执行整数除法,在这种情况下会导致0。
答案 2 :(得分:1)
其他人注意到了原因。要修复,(double) aray[j]/sum
。
答案 3 :(得分:0)
除以整数将得到一个向下舍入到第一个整数的整数答案。如果你想要一个十进制结果,你必须使它成为21.0 / 100.0。