day08 Math

JTH·2023년 2월 1일
0

gb_jth

목록 보기
25/56

7. Math 클래스

7-1. 수학적 연산을 지원하는 클래스

  • Math클래스는 흔히 계산을 하는데 도움이 되는 많은 수의 기본적 수학 함수들을 제공한다.
  • Math클래스는 Java 표준 클래스 라이브러리의 java.lang 패키지에 정의되어 있다.
  • Math클래스의 모든 메서드들을 static 메서드로, 클래스 객체를 생성하지 않고 그 메서드가 정의된 클래스 이름을 통해 호출될 수 있다.
package math;

/*
 * java.lang.Math 클래스
 * 수학 관련된 메서드들을 갖고 있는 클래스
 * 모든 메서드들이 static 형태이기 때문에, 객체를 생성할 필요는 없다.
 */

public class Main01 {

	public static void main(String[] args) {
		// 주어진 두 수 에 대한 최대값 구하기
		int max = Math.max(100, 9000);
		System.out.println("최대값 = " + max);
		
		// 주어진 두 수에 대한 최소값 구하기
		int min = Math.min(100, 9000);
		System.out.println("최소값 = " + min);
		
		//주어진 수에대한 절대값 구하기
		int abs = Math.abs(-123);
		System.out.println("절대값 = " + abs);
		
		// 소수점 반올림
		long num = Math.round(3.123456);
		System.out.println("반올림 = " + num);
		
		// 원주율
		System.out.println("원주율 = " + Math.PI);
		
	}

}

랜덤값 생성하기

package math;

/*
 * 랜덤값 생성하기
 * -------------------------------------------
 * Math.random() 메서드는 0~1범위를 갖는 double 형의 값을 리턴하기 때문에,
 * 원하는 값을 생성하기 위해서는 일련의 공식 적용이 필요하다.
 */

public class Main02 {

	public static void main(String[] args) {
		System.out.println(Math.random());
		System.out.println(Math.random());
		System.out.println(Math.random());
		System.out.println(Math.random());
		System.out.println(Math.random());
		System.out.println((int)(Math.random()*45)+1);
		
		System.out.println("--------------------------------");
		
		
		System.out.println(Main02.random(1, 10));
		System.out.println(Main02.random(1, 10));
		System.out.println(Main02.random(1, 10));
	}		
	//범위를 갖는 랜덤값을 생성하여 정수를 리턴하는 메서드
		public static int random( int min, int max ) {
			int num =
			(int)((Math.random() * (max - min +1)) + min);
			return num;
		}
}

랜덤한 인증번호 생성하기

package math;

import com.it.study.helper.Util;

public class Main03 {

	public static void main(String[] args) {
		// 0~5 사이의 5자리 인증번호 생성
		//"인증번호 = 12345"
		Util u1 = Util.getInstance();
		
		System.out.print("인증번호 = ");
		System.out.print(u1.random(1, 5));
		System.out.print(u1.random(1, 5));
		System.out.print(u1.random(1, 5));
		System.out.print(u1.random(1, 5));
		System.out.print(u1.random(1, 5));
		System.out.println("");
		System.out.println("--------------------------");
		
		System.out.print(Util.getInstance().random(1, 5));
		System.out.print(Util.getInstance().random(1, 5));
		System.out.print(Util.getInstance().random(1, 5));
		System.out.print(Util.getInstance().random(1, 5));
		System.out.print(Util.getInstance().random(1, 5));
		
		
		System.out.println("");
		System.out.println("---------------------------");
		
		String authNum = "";
		
		for(int i = 0; i<5;i++) {
			authNum += Util.getInstance().random(0, 9);
		}
		System.out.println("인증번호 = " + authNum);
		
		System.out.println("================================");
		
		int x = (int)(Math.random()*6);
		int y = (int)(Math.random()*6);
		
		if ( x == y ) {
			System.out.println("축하합니다!");
		} else {
			System.out.println(x + "," + y);
		}
		
		
	}

}
profile
//

0개의 댓글