라이브러리 활용 - java.base 모듈
수학 클래스
한모로그
2023. 1. 30. 21:15
Math 클래스
- 수학 계산에 사용할 수 있는 정적 메소드 제공
출처, 이것이 자바다
package ch12.sec07;
public class MathExample {
public static void main(String[] args) {
//양수, 음수 모두 테스트
double v1 = Math.ceil(5.3); //올림 기능. 가까운 큰 정수
double v2 = Math.floor(5.3); //내림 기능. 가까운 작은 정수
System.out.println("v1=" + v1);
System.out.println("v2=" + v2);
long v3 = Math.max(3, 7); // 두 수중 큰값
long v4 = Math.min(3, 7); // 두 수중 작은값
System.out.println("v3=" + v3);
System.out.println("v4=" + v4);
//소수 이하 두 자리 얻기.
double value = 12.3456;
double temp1 = value * 100; // 1234.56
long temp2 = Math.round(temp1); //1235
double v5 = temp2 / 100.0;
System.out.println("v5=" + v5);
}
}
package ch12.sec07;
import java.util.Arrays;
/*
* 랜덤기능
- Math.random() 메소드
- Random 클래스 : 난수를 생성하는 클래스
난수 : 정의한 일정범위에서 무작위로 추출한 수를 말함. 다음에 나오는 값을 확인할 수 없어야 한다.
new Random() : 매개변수 없음. 현재시간을 시드값으로 사용하여, 다른 난수값 발생.
new Random(3) : 매개변수 있음. 동일한 난수값 발생.
아래 예제 사용시
당첨번호에서 시드값을 5 -> 3 으로 변경해보고. Arrays.sort(winningNumber); 주석처리하여, 실행해본다.
Arrays.equals(selectNumber, winningNumber) 두 배열을 정렬을 해야한다. 같은 요소끼리 비교하여 일치여부를 체크한다.
*/
import java.util.Random;
public class RandomExample {
public static void main(String[] args) {
//선택번호
int[] selectNumber = new int[6];
Random random = new Random(3); //시드값 사용시 동일한 난수값 발생
System.out.print("선택번호: ");
for(int i=0; i<6; i++) {
selectNumber[i] = random.nextInt(45) + 1; // 0 ~ 45
System.out.print(selectNumber[i] + " ");
}
System.out.println();
//당첨번호
int[] winningNumber = new int[6];
random = new Random(5); //시드값 사용시 동일한 난수값 발생
System.out.print("당첨번호: ");
for(int i=0; i<6; i++) {
winningNumber[i] = random.nextInt(45) + 1;
System.out.print(winningNumber[i] + " ");
}
System.out.println();
//당첨여부
Arrays.sort(selectNumber); //오름차순. 15 21 16 17 34 28 -> 15 16 17 21 28 34
Arrays.sort(winningNumber); //주석. 오름차순. 18 38 45 15 22 36 -> 15 18 22 36 38 45
//equals()메소드 사용전에 배열값을 정렬해야 한다. 동일 요소끼리 값을 비교한다.
boolean result = Arrays.equals(selectNumber, winningNumber);
System.out.print("당첨여부: ");
if(result) {
System.out.println("1등에 당첨되셨습니다.");
}else {
System.out.println("당첨되지 않았습니다.");
}
}
}