Когда я делаю этот код, он говорит мне:Как преобразовать двойной в двойной массив?
"incompatible: double cannot be converted to double[]"
Что мне делать, чтобы исправить это?
public class Gravity
{
public static double[] calcGravity(double[] radius, double[] mass)
{
// The formula to calculate gravity is: g = (G*M)/r^2
for(int i = 0; i < 9; i++)
{
return 6.67E-17 * mass[i]/Math.pow(radius[i], 2); //incompatible error
}
public static void main(String[] args) throws IOException
{
// Initialize variables
string[] names = {"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"};
double[] radii = {2439.7, 6051.9, 6378, 3402.5, 71492, 60270, 25562, 24774, 1195};
double [] masses = {3.30E23, 4.87E24, 5.97E24, 6.42E23, 1.90E27, 5.68E26, 8.68E25, 1.02E26, 1.27E22};
// Processing
double[] gravities = calcGravity(radii, masses);
// Output
printResults(names, radii, masses, gravities);
printToFile(gravities);
}
}
Это немного перепутано. Во-первых, чтобы исправить ваш код, вы можете заставить метод возвращать 'double' вместо' double array'. Во-вторых, ваш код не имеет большого смысла. У вас есть 'for loop', итерация от 0 до 8, но вы возвращаетесь от него на самой первой итерации. Для чего нужна итерация? – Matt
Ну, есть еще к заданию, но я не хотел, чтобы вы чувствовали, что вы делаете мою домашнюю работу для меня. Должен ли я добавить его? – Maya
Вам нужно построить массив гравитаций в цикле, а затем вернуть массив после цикла, а не вернуть первое значение. – jmoerdyk