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

먼저 코드를 게시하면 도움이 될 것입니다 : –

+1

제곱근! = 사각형 : 원하는 것은 어느 것입니까? 또한 배열의 각 요소를 제곱하고 새 배열을 반환하거나 배열의 각 요소의 제곱의 합을 구하고 싶습니까? 나는 당신이 실제로 원하는 것에 더 많은 정밀도가 필요하다고 생각합니다. –

답변

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

+0

@ roger34, 내 컴퓨터에서 적어도 :-) - 내 업데이트를 참조하십시오. –

1

당신이 배열의 모든 요소의 제곱근을 인쇄 할 경우, 동일한 방법으로 결과를 반복하고 인쇄해야합니다. 같은 뭔가 :

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

다음과 같이 일을하는 방법은 다음과 같습니다 배열의 각 번호에 대한 , 제곱근을 찾아 변수 결과에 보관합니다. 모든 배열을 반복했으면 result의 값을 반환합니다.이 경우 result는 마지막으로 처리 한 번호의 제곱근이됩니다.

1

당신이 대답을 인쇄 한 후에 당신이 함수를 호출하는 것처럼 보입니다. 너도 그걸 꼭 챙겨야 해.