CodeGym /Java Blog /무작위의 /Math.sqrt 방법 - Java의 제곱근
John Squirrels
레벨 41
San Francisco

Math.sqrt 방법 - Java의 제곱근

무작위의 그룹에 게시되었습니다
Java에서 제곱근을 계산하는 것은 소프트웨어 개발 인터뷰에서 일반적인 질문이 아니지만 때때로 인터뷰에서 다음과 같은 질문을 할 수 있습니다. “정수 x가 있습니다. 제곱근을 계산하는 Java 프로그램을 만듭니다.” 이러한 기본적인 질문에 당황하지 않도록 Java에서 제곱근을 수행하는 방법을 살펴보겠습니다.

제곱근과 제곱근: 수학 개념 복습

제곱근과 근을 다룰 때 혼란이 없도록 하기 위해 이 개념의 이론을 검토해 봅시다. 숫자의 제곱은 그 숫자에 자신을 곱한 것입니다. n = 4이면 n^2 = 4 4 = 16입니다. 숫자의 제곱근은 그 자체를 곱하면 주어진 값 X가 되는 숫자입니다. 예를 들어 n =의 제곱근을 찾아야 합니다. 16, 2의 거듭제곱으로 올리면 16이 되는 숫자를 찾으면 문제가 해결됩니다. n의 경우 숫자 16의 제곱근은 4입니다(4 * 4 = 16이므로).

java.lang.Math.sqrt()를 사용하여 Java에서 제곱근을 수행하는 방법

Java에서 숫자의 제곱근을 찾는 가장 일반적인 방법은 java.lang.Math.sqrt()방법을 적용하는 것입니다. 다음은 java.lang.Math.sqrt() 메서드의 일반 구문입니다.

public static double sqrt(double a)
이 방법에서 a는 제곱근을 얻으려는 2의 거듭제곱 값입니다. 개발자가 적용하면 java.lang.Math.sqrt()메서드는 a의 양의 제곱근을 반환합니다(a가 0보다 큰 경우). 음수 인수의 경우 java.lang.Math.sqrtNaN 출력을 반환합니다.

java.lang.Math.sqrt() 반환의 특별한 경우

위에서 언급했듯이 대부분의 경우 메서드는 양수 값을 반환합니다. 그러나 루트 찾기 프로그램을 만들 때 개발자가 알아야 할 몇 가지 특정 사례가 있습니다.
  • NaN 값이 있거나 음수인 인수의 경우 메서드는 NaN 결과를 반환합니다.
  • 무한히 양수인 인수의 경우 메서드는 무한히 양수 결과를 반환합니다.
  • 양수 또는 음수 0으로 구성된 인수의 경우 a의 제곱근은 a와 같습니다.

java.lang.Math.sqrt() 사용 예


package MyPackage;
 
public class SquareRoot2 {
 
    public static void main(String args[])
    {
        double a = 100;
   
        System.out.println(Math.sqrt(a));
        // For positive values, the output is the square root of x 
   
        double b = -81.00;
   
        System.out.println(Math.sqrt(b));
        // For negative values as input, Output NaN 
   
        double c = 0.0/0;
        // Input NaN, Output NaN 
   
        System.out.println(Math.sqrt(c));
   
        double d = 1.0/0; 
        // For inputs containing  positive infinity, Output positive infinity  
   
        System.out.println(Math.sqrt(d));
         
        double e = 0.0;
        // Input positive Zero, Output positive zero 
         
        System.out.println(Math.sqrt(e));
    }
         
}

Java 연습 문제에서 제곱근 찾기

이제 Java에서 제곱근을 계산하는 프로그램을 만드는 방법을 알았으므로 이 개념이 고급 연습 문제에 어떻게 적용되는지 살펴보겠습니다. 예를 들어 면접관이 2차 방정식을 풀도록 요청할 수 있습니다. 이러한 문제를 처리하는 방법을 살펴보겠습니다. 문제: a = 1, b = 5, c = 2인 이차 방정식을 풉니다. 솔루션:

import java.util.Scanner;
public class Exercise2 {

    
  public static void main(String[] Strings) {

        Scanner input = new Scanner(System.in);

            System.out.print("Input a: ");
            double a = input.nextDouble();
            System.out.print("Input b: ");
            double b = input.nextDouble();
            System.out.print("Input c: ");
            double c = input.nextDouble();

            double result = b * b - 4.0 * a * c;

            if (result > 0.0) {
                double r1 = (-b + Math.pow(result, 0.5)) / (2.0 * a);
                double r2 = (-b - Math.pow(result, 0.5)) / (2.0 * a);
                System.out.println("The roots are " + r1 + " and " + r2);
            } else if (result == 0.0) {
                double r1 = -b / (2.0 * a);
                System.out.println("The square root is " + r1);
            } else {
                System.out.println("There are no real square roots in the equation.");
            }

    }
}

결론

이것은 Java에서 숫자의 제곱근을 찾는 방법에 대한 간략한 설명이었습니다. 소프트웨어 개발 초보자의 경우 다양한 시나리오(a>0, a<0, a = 0)를 연습하여 개념을 확실하게 파악하는 것이 좋습니다. java.lang.Math.sqrt 메서드의 기능을 이해하고 나면 이차 방정식 풀기와 같은 작업을 처리하는 복잡한 프로그램에 메서드를 적용하기 시작합니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION