[자바] java Random 클래스(난수 발생)쉽게 정리/ 주사위/랜덤 숫자뽑기/랜덤 범위설정 number공식
[자바 ]java.util.Random 클래스
- 난수 발생 전용 클래스
- Math 클래스와 달리 인스턴스 생성이 필요함
[자바 클래스] 난수를 발생시키는 공식
Random r=new Random();
- nextXXX() 메서드를 호출하여 다양한 데이터타입에 대한 난수 생성 가능
Random r=new Random();
for(int i=1; i<10;i++) {
System.out.println("nextInt():" +r.nextInt());
}
int정수형 데이터타입의 범위가 –21억부터 +21억이라 그 사이에서 난수 생성
하지만 next(n)에서 범위를 정해서 난수 생성을 하고 싶다면
0<= x <n
1~n사이의 난수를 발생시키는 공식
next(n)+1
Random r=new Random();
for(int i=1; i<10;i++) {
System.out.println("nextInt():" +r.nextInt(10));
[자바 클래스]
java.util.Random의 주요메서드
java.util.Random의 주요메서드
[자바 클래스] random메서드
next.Boolean()
[자바 클래스] random메서드:
nextDouble()
[자바 클래스] random메서드:
nextFloat()
[자바 클래스] random메서드:
next.Long()
[자바 클래스]
Random 클래스 사용한 주사위 문제
* 주사위 2개(dice1, dice2)를 각각 굴렸을 때 나오는 숫자 범위(1 ~ 6)에 대한
난수를 발생시켜 두 주사위 합을 출력하기
단, 주사위 2개의 숫자가 동일할 경우 "한 번 더!" 메세지 함께 출력
Random 클래스 사용
Random r = new Random();
int dice1 = r.nextInt(6) + 1;
int dice2 = r.nextInt(6) + 1;
Math.random() 사용 시
int dice1 = (int)(Math.random() * 6) + 1;
int dice2 = (int)(Math.random() * 6) + 1;
System.out.println("dice1 = " + dice1);
System.out.println("dice2 = " + dice2);
System.out.println("합계 = " + (dice1 + dice2));
if(dice1 == dice2) {
System.out.println("한 번 더!");
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!