본문 바로가기

프로그래밍/자바기초문법

[JAVA] Math 클래스

반응형

Math 클래스

Math 클래스는 흔히계산을 하는데 도움이 되는 많은 수의 기본적 수학 함수들을 제공한다.

Math 클래스는 Java 표준 클래스 라이브러리의 java.lang 패키지에 정의되어 있다.

Math 클래스의 모든 메소드들은 정적 메소드(static method)로 클래스의 객체를 생성하지 않고 그 메소드가 정의된 클래스 이름을 통해서 호출될 수 있다.

*** Math 클래스의 메소드**

Math 클래스의 메소드들은 필요에 따라 수식 내에서 사용될 수 있는 값을 반환한다.

value = Math.abs(total) + Math.pow(count, 4);

다음 문장은 total에 저장된 수의 절대값을 계산하고 그 값을 count 값의 4승에 더하여 그 결과를 변수 value에 저장한다.

아래에서

 

이차방정식에 근의공식을 사용하여 x를 구하는 계산을 해보자.

근의 공식 :

 

import java.util.Scanner;
public class mathtest {
    public static void main(String[] args) {
        int a, b, c;
        double discriminant, root1, root2; // 근의 공식을 이용한 ax제곱 + bx + c 의 x 값을 구하기 위해
        // a, b, c 의 값을 각각 받는다. 
        Scanner scan = new Scanner(System.in); // ax제곱의 a 값을 받는다. 
        System.out.print("Enter the coefficient of x squared: ");
        a = scan.nextInt(); // bx 의 b의 값을 받는다. 
        System.out.print("Enter the coefficient of x: ");
        b = scan.nextInt(); // c 값을 받는다. 
        System.out.print("Enter the constant: ");
        c = scan.nextInt(); // 근의 공식에 적용
        discriminant = Math.pow(b, 2) - (4 * a * c);
        root1 = ((-1 * b) + Math.sqrt(discriminant)) / (2 a);
        root2 = ((-1 * b) - Math.sqrt(discriminant)) / (2 a); // 출력 
        System.out.println("Root #1: " + root1);
        System.out.println("Root #2: " + root2);
    }
}

*** 결과 화면**

// 근의 공식에 적용

discriminant = Math.pow(b, 2) - (4 * a * c);root1 = ((-1 * b) + Math.sqrt(discriminant)) / (2*a);

root2 = ((-1 * b) - Math.sqrt(discriminant)) / (2*a);

Math.pow(b,2) : b에 제곱

Math.sqrt(discriminant) : discriminant 에 제곱근(루트)를 한다.

*** discriminant가 음수일 경우 유효한 값이 아니기 때문에 NAN 결과값으로 발생한다.**

반응형