У меня есть программа, предназначенная для преобразования веса на Земле в массу на другие планеты. 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;
но я не уверен.
Любая помощь будет оценена. Спасибо!
Примечание: Это не дубликат Все элементы этого массива одинаковы, но почему? Этот человек писал на php, я пишу на Java. Мой вопрос относится к этой программе.