[英]Why do all of the elements in this array have the same value?
我有一個旨在將地球上的重量轉換成質量再轉換成其他行星上的重量的程序。 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編寫。 我的問題特定於此程序。
這個人在評論中提到,您有一個相反的公式。 如果您將傳遞mass[index]
公式而不是結果值,則將看到除了地球的重量以外,什么都不再存在。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.