数组 - 数组的平方根并打印结果JAVA

rog*_*r34 0 java arrays square-root

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

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;
 }
}
Run Code Online (Sandbox Code Playgroud)

Pét*_*rök 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;
}
Run Code Online (Sandbox Code Playgroud)

然后你可以逐个打印出结果,例如:

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]);
}
Run Code Online (Sandbox Code Playgroud)

更新:我的机器上的结果如预期的那样:

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
Run Code Online (Sandbox Code Playgroud)