코딩 스쿨 Java

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

Java_Square Root

자바에서 제곱근 구하기 (Java Square Root)

자바에서 **제곱근(Square Root)**을 구하는 방법은 Math.sqrt() 메서드를 사용하는 것입니다. 이 메서드는 자바의 Math 클래스에 포함되어 있으며, 주어진 숫자의 제곱근을 반환합니다.

제곱근 공식:

\[ \text{Square Root of } x = \sqrt{x} \]

image.png

1. 기본적인 제곱근 계산

자바에서 제곱근을 구하는 가장 기본적인 방법은 Math.sqrt() 메서드를 사용하는 것입니다.

1.1 기본 제곱근 계산 예제

public class Main {
    public static void main(String[] args) {
        // 제곱근을 구할 숫자
        double number = 25.0;

        // Math.sqrt()를 사용해 제곱근 계산
        double squareRoot = Math.sqrt(number);

        // 결과 출력
        System.out.println(number + "의 제곱근은: " + squareRoot);
    }
}

설명:

  • Math.sqrt() 메서드는 주어진 숫자의 제곱근을 계산하여 반환합니다.
  • number양수일 경우 정상적으로 제곱근이 계산됩니다.

출력:

25.0의 제곱근은: 5.0

1.2 다른 숫자로 테스트

public class Main {
    public static void main(String[] args) {
        // 제곱근을 구할 숫자
        double number = 16.0;

        // Math.sqrt()를 사용해 제곱근 계산
        double squareRoot = Math.sqrt(number);

        // 결과 출력
        System.out.println(number + "의 제곱근은: " + squareRoot);
    }
}

출력:

16.0의 제곱근은: 4.0

2. 사용자로부터 입력받아 제곱근 계산

자바에서 Scanner 클래스를 사용하여 사용자로부터 입력받은 숫자의 제곱근을 구할 수 있습니다.

2.1 사용자 입력을 통한 제곱근 계산 예제

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // Scanner 객체 생성 (사용자로부터 입력을 받기 위해)
        Scanner scanner = new Scanner(System.in);

        // 사용자로부터 숫자 입력받기
        System.out.print("제곱근을 구할 숫자를 입력하세요: ");
        double number = scanner.nextDouble();

        // Math.sqrt()를 사용해 제곱근 계산
        double squareRoot = Math.sqrt(number);

        // 결과 출력
        System.out.println(number + "의 제곱근은: " + squareRoot);

        // Scanner 객체 닫기
        scanner.close();
    }
}

설명:

  • Scanner 클래스를 사용해 사용자로부터 숫자를 입력받고, 그 숫자의 제곱근을 계산합니다.
  • 입력받은 숫자가 음수일 경우 **NaN(Not a Number)**이 반환됩니다.

출력 예시 1 (25 입력):

제곱근을 구할 숫자를 입력하세요: 25
25.0의 제곱근은: 5.0

출력 예시 2 (2 입력):

제곱근을 구할 숫자를 입력하세요: 2
2.0의 제곱근은: 1.4142135623730951

3. 메서드를 사용하여 제곱근 계산

제곱근을 구하는 로직을 메서드로 분리하면 코드의 재사용성을 높일 수 있습니다.

3.1 메서드를 사용한 제곱근 계산 예제

public class Main {

    // 제곱근을 구하는 메서드
    public static double calculateSquareRoot(double number) {
        return Math.sqrt(number);
    }

    public static void main(String[] args) {
        double number = 36.0;

        // 메서드를 호출하여 제곱근 계산
        double squareRoot = calculateSquareRoot(number);

        // 결과 출력
        System.out.println(number + "의 제곱근은: " + squareRoot);
    }
}

설명:

  • calculateSquareRoot() 메서드는 주어진 숫자의 제곱근을 계산하여 반환합니다.
  • 메서드를 통해 코드를 재사용할 수 있으며, 다른 숫자에 대해 쉽게 호출할 수 있습니다.

출력:

36.0의 제곱근은: 6.0

4. 배열의 각 요소에 대한 제곱근 계산

자바에서 배열의 각 요소에 대해 제곱근을 계산할 수 있습니다. 이를 통해 여러 숫자의 제곱근을 한 번에 처리할 수 있습니다.

4.1 배열의 모든 요소에 대해 제곱근 계산 예제

public class Main {
    public static void main(String[] args) {
        // 숫자 배열 선언
        double[] numbers = {4.0, 9.0, 16.0, 25.0};

        // 배열의 각 요소에 대해 제곱근 계산
        for (double number : numbers) {
            double squareRoot = Math.sqrt(number);
            System.out.println(number + "의 제곱근은: " + squareRoot);
        }
    }
}

설명:

  • 배열의 각 요소를 순회하면서 각 숫자의 제곱근을 계산하고 출력합니다.

출력:

4.0의 제곱근은: 2.0
9.0의 제곱근은: 3.0
16.0의 제곱근은: 4.0
25.0의 제곱근은: 5.0

5. Lambda와 Stream API를 사용한 제곱근 계산 (자바 8 이상)

자바 8 이상에서는 Stream API를 사용하여 배열 또는 리스트의 요소들에 대해 람다식으로 제곱근을 간결하게 계산할 수 있습니다.

5.1 Lambda와 Stream API를 사용한 제곱근 계산 예제

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        // 숫자 배열 선언
        double[] numbers = {2.0, 4.0, 9.0, 16.0, 25.0};

        // Stream API를 사용해 배열의 각 요소의 제곱근을 계산하고 출력
        Arrays.stream(numbers).forEach(number ->
            System.out.println(number + "의 제곱근은: " + Math.sqrt(number))
        );
    }
}

설명:

  • *Arrays.stream()*을 사용해 배열을 스트림으로 변환하고, 각 요소에 대해 **Math.sqrt()*를 사용하여 제곱근을 계산합니다.
  • 람다식을 사용해 코드를 더 간결하게 작성할 수 있습니다.

출력:

2.0의 제곱근은: 1.4142135623730951
4.0의 제곱근은: 2.0
9.0의 제곱근은: 3.0
16.0의 제곱근은: 4.0
25.0의 제곱근은: 5.0

6. 음수 입력에 대한 처리

음수의 제곱근을 구하려고 할 경우, **Math.sqrt()**는 **NaN(Not a Number)**을 반환합니다. 따라서, 음수의 제곱근을 처리할 필요가 있을 때는 예외 처리조건문을 사용해야 합니다.

6.1 음수 입력 처리 예제

public class Main {
    public static void main(String[] args) {
        double number = -9.0;

        // 음수 처리
        if (number < 0) {
            System.out.println(number + "의 제곱근은 실수 범위에서 정의되지 않습니다.");
        } else {
            double squareRoot = Math.sqrt(number);
            System.out.println(number + "의 제곱근은: " + squareRoot);
        }
    }
}

설명:

  • if (number < 0): 음수일 경우 제곱근을 계산하지 않고 사용자에게 경고 메시지를 출력합니다.

출력:

-9.0의 제곱근은 실수 범위에서 정의되지 않습니다.

요약

  • Math.sqrt() 메서드를 사용해 자바에서 제곱근을 쉽게 계산할 수 있습니다.
  • Scanner 클래스를 사용해 사용자 입력을 처리할 수 있으며, 메서드를 통해 제곱근 계산을 재사용할 수 있습니다.
  • 배열의 각 요소에 대해 반복문이나 Stream API를 사용해 제곱근을 처리할 수 있습니다.
  • 음수 입력에 대해서는 NaN을 반환하므로, 조건문으로 음수 처리를 해야 합니다.

이러한 방법 을 통해 자바에서 다양한 방식으로 제곱근을 계산할 수 있습니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com