2010-05-31 52 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

除了已經說過的話......看起來您在打印答案後正在調用該功能。確保你支持了。