Math, Random

오늘·2021년 3월 29일
0

Java

목록 보기
33/42

Math 클래스

: java.lang.Math 클래스는 수학 계산에 사용할 수 있는 메소드를 제공하고 있다. Math 클래스가 제공하는 메소드는 모두 static이므로 Math 클래스로 바로 사용 가능하다.
: 아래는 Math 클래스가 제공하는 메소드를 설명한 표다

몇 가지만 사용해 보자

// 반올림
System.out.println(Math.round(5.3));
System.out.println(Math.round(4.6));
System.out.println("------------------");
		
// 올림
System.out.println(Math.ceil(5.3));
System.out.println(Math.ceil(4.2));
System.out.println("------------------");
		
// 버림
System.out.println(Math.floor(5.3));
System.out.println(Math.floor(4.2));
System.out.println("------------------");

실행 모습

5
5
------------------
6.0
5.0
------------------
5.0
4.0
------------------

Random 클래스

난수를 얻어내기 위해 다양한 메소드를 제공한다. random() 메소드가 0.0에서 1 사이의 double 난수를 얻는데에만 사용한다면, Random 클래스는 boolean, int, long, float, double 난수를 얻을 수 있다.

Random() : 호출 시마다 다른 종가값(현재시간 이용)이 자동 설정
Random(long seed) : 매개값으로 주어진 종자값이 설정된다.

: 종자값(seed)을 설정할 수 있다
-> 종자값은 난수를 만드는 알고리즘에 사용되는 값으로, 종자값이 같으면 난수도 같은 값을 얻는다.

import java.util.Arrays;
import java.util.Random;

// 난수 : 예측불가
public class RandomClass_03 {
	public static void main(String[] args) {
		// 선택번호 6개가 저장될 배열
		int[] selectNum = new int[6];
		// 선택 번호를 얻기 위한 Random 객체 생성
		Random random = new Random(5);
		System.out.print("선택 번호 : ");
		// 선택번호를 얻어 배열에 저장
		for(int i=0; i<6; i++) {
			selectNum[i] = random.nextInt(45) + 1;
			System.out.print(selectNum[i]+ " ");
		}
		System.out.println();
		
		
		// 당첨번호 6개가 저장될 배열 생성
		int[] winningNum = new int[6];
		// 당첨 번호를 얻기위한 Random 객체 생성
		random = new Random(5);
		System.out.print("당첨번호 : ");
		// 당첨 번호를 얻어 배열에 저장
		for(int i=0 ; i<6; i++) {
			winningNum[i] = random.nextInt(45) + 1;
			System.out.print(winningNum[i] + " ");
		}
		System.out.println();
		
		// 당첨 여부
		// 먼저 비교하기 전에 정렬부터 시킨다
		Arrays.sort(selectNum);
		Arrays.sort(winningNum);
		// 배열 항목 값 비고
		boolean result = Arrays.equals(selectNum, winningNum);
		System.out.print("당첨 여부 : ");
		if(result) { 
			System.out.println("1등에 당첨되었습니다");
		} else {
			System.out.println("당첨되지 않았습니다");
		}
	}
}

실행 결과

선택 번호 : 18 38 45 15 22 36 
당첨번호 : 18 38 45 15 22 36 
당첨 여부 : 1등에 당첨되었습니다

종자값을 똑같게 설정해보니 값이 똑같이 나온것을 확인할 수 있다.

0개의 댓글