반올림 - Math.round( )
실수를 소수점 첫째 자리에서 반올림한 정수를 반환
long result = Math.round(4.52); //result에 5가 저장된다.
3142(int) / 1000(int) -> 3(int)
3142(int) / 1000.0(double) -> 3142.0(double) / 1000.0(double) -> 3.142(double)
double pi = 3.141592; // 3.141을 얻으려면?
System.out.println(pi*1000);
System.out.println((int)(pi*1000));
System.out.println((int)(pi*1000)/1000.0);
임의의 정수 만들기 - Math.random( )
0.0과 1.0 사이의 임의의 double값을 반환 ( 0.0 <= Math.random( ) < 1.0 ) -> 0.0 ~ 0.9999…
ex) 범위를 1~3 정수 사이의 값 구하기
1) 각 변에 3 곱하기
0.0 * 3 <= Math.random( ) * 3 < 1.0 * 3
0.0 <= Math.random( ) * 3 < 3.0 -> 0.0 ~ 2.999
2) 각 변을 int형으로 변환
(int) 0.0 <= (int)(Math.random( ) * 3) < (int) 3.0
0 <= (int)(Math.random( ) * 3) < 3 -> 0 ~ 2
3) 각 변에 1을 더하기
0 + 1 <= (int)(Math.random( ) * 3) +1 < 3+1
1 <= (int)(Math.random( ) * 3 + 1 < 4 -> 1 ~ 3
-> 원하는 값의 개수
원하는 값의 개수! (곱하기) -> (Math.random( ) * n )
최솟값(더하기)
// 1~10사이의 난수를 5개 출력
for(int i = 1; i <= 5; i++) {
System.out.println(Math.random()); //0.0<=x<1.0
System.out.println((Math.random()*10)); //0.0<=x<10.0
System.out.println((int)(Math.random()*10)); //0<=x<10
System.out.println((int)(Math.random()*10)+1); //1<=x<10
// -5~5사이의 난수 5개 출력(-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5 = 11개)
for(int i = 0; i <= 4; i++) {
System.out.println((int)(Math.random()*11)); // 0<x<11
System.out.println((int)(Maht.random()*11)-5); // -5<=x<6 -5~5
}
'Java' 카테고리의 다른 글
BufferedReader, BufferedWriter, StringTokenizer (0) | 2022.01.17 |
---|---|
재귀호출( recursive call) (0) | 2022.01.13 |
ChoiceFormat과 MessageFormat (0) | 2022.01.08 |
Java.time 패키지 (0) | 2022.01.01 |