Почему все элементы в этом массиве имеют одинаковое значение? - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть программа, предназначенная для преобразования веса на Земле в массу на другие планеты. 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. Мой вопрос относится к этой программе.

1 Ответ

0 голосов
/ 06 ноября 2018

Этот парень упомянул в комментарии, что у вас обратная формула. Если вы передадите формулу mass[index] вместо значения результата, вы увидите, что больше ничего не существует, кроме веса Земли. :)

![Formulas

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...