2010-05-31 49 views
0

我试图获得一个数字(9)数字平方根然后打印,但我一直回来只有一个结果 - 数组中的数字平方数 - 显然不是我想要的。谢谢你的帮助。好的,到目前为止,这是我可怕的代码。试图将它传递给一个方法。阵列 - 打印结果的数组的平方根JAVA

public static void main (String args[]) 
{ 
double[] nums = {126, 12.939, 795, 320.16, 
      110, 34.7676, 7773, 67, 567, 323}; 

System.out.println ("Square root is " +square); 
square(nums); 
} 

public static double square (double [] array) { 
double result; 
for(double i = 0; i < array.length ; i++) 
    result = Math.sqrt(array[i]); 

return result; 
} 
} 
+4

首先发布你的代码,这将帮助我们帮助你:-) – 2010-05-31 19:35:27

+1

平方根!=方形:你想要哪一个?另外,你是否想对数组的每个元素进行平方并返回一个新数组,或者可能是数组中每个元素的平方和?我认为你需要更精确的实际需要。 – 2010-05-31 19:50:32

回答

5

你只有一个变量result存储平方根,所以它被覆盖,并且最终它仅包含最新的平方根。如果你想要的每个元素的平方根在数组中,你还需要将结果存储在一个数组中,例如,

public static double[] square (double [] array) { 
    double[] result = new double[array.length]; 
    for(int i = 0; i < array.length ; i++) 
    result[i] = Math.sqrt(array[i]); 

    return result; 
} 

然后你可以逐个打印结果,例如,像这样:

public static void main (String args[]) 
{ 
    double[] nums = {126, 12.939, 795, 320.16, 
      110, 34.7676, 7773, 67, 567, 323}; 
    double[] squares = square(nums); 

    for(int i = 0; i < nums.length ; i++) 
    System.out.println ("Square root of " + nums[i] + " is " + squares[i]); 
} 

更新:和我的机器上的结果,符合市场预期,是:

Square root of 126.0 is 11.224972160321824 
Square root of 12.939 is 3.597082150855051 
Square root of 795.0 is 28.19574435974337 
Square root of 320.16 is 17.893015397076034 
Square root of 110.0 is 10.488088481701515 
Square root of 34.7676 is 5.896405684821898 
Square root of 7773.0 is 88.16461875378354 
Square root of 67.0 is 8.18535277187245 
Square root of 567.0 is 23.811761799581316 
Square root of 323.0 is 17.97220075561143 
+0

这似乎没有打印任何东西! – roger34 2010-05-31 20:40:54

+0

@ roger34,它(在我的机器上,至少:-) - 查看我的更新 – 2010-05-31 20:54:46

1

如果你想打印的所有元素的平方根数组中,你必须以相同的方法迭代和打印结果。喜欢的东西:

for (int i = 0 ;i < array.length; i++) 
{ 
    System.out.println("The Square Root of " + array[i] + " is" + Math.sqrt(array[i])); 
} 

你正在做的方法如下: 为了您的阵列中的每个数字,找到它的平方根并将其存储在变量的结果。 一旦你已经遍历所有的数组,返回结果的值,在这种情况下,这将是你已经处理的最后一个数字的平方根。

1

除了已经说过的话......看起来您在打印答案后正在调用该功能。确保你支持了。