为什么此数组中的所有元素都具有相同的值?

时间:2018-11-06 15:00:58

标签: java arrays for-loop

我有一个旨在将地球上的重量转换成质量再转换成其他行星上的重量的程序。 userWeight()fileToken()printTable()是程序中其他地方定义的方法。

double earthWeight = userWeight();

// initialize arrays
String[] planet = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"};

double[] gravity = new double[planet.length];
for(int index = 0; index < gravity.length; index++) {
    gravity[index] = Double.parseDouble(fileToken(index));
}

double[] mass = new double[planet.length];
for(int index = 0; index < mass.length; index++) {
    mass[index] = earthWeight * 453.59237 / (gravity[index] / gravity[2]);
}

double[] weight = new double[planet.length];
for(int index = 0; index < mass.length; index++) {
    weight[index] = mass[index] * (gravity[index] / gravity[2]) / 453.59237;
}

// print table
printTable(planet, gravity, weight);

weight中的所有元素的值都与earthWeight完全相同。他们不应该是。

我认为这行有问题:

weight[index] = mass[index] * (gravity[index] / gravity[2]) / 453.59273;

但我不确定。

任何帮助将不胜感激。谢谢!

注意:这不是All elements of this array are the same, but why?的副本,那个人是用php编写的,我是用Java编写的。我的问题特定于 this 程序。

1 个答案:

答案 0 :(得分:1)

This guy在评论中提到,您有一个相反的公式。如果您传递<div id="test"> This block should have relative width based on the size of the outer element, but padding relative to its own width. Its width including padding shouldn't exceed 600px. </div>公式而不是结果值,您将看到除了地球的重量之外,什么也不再存在。 :)

![Formulas