상세 컨텐츠

본문 제목

[자바] java Random 클래스(난수 발생)쉽게 정리/ 주사위/랜덤 숫자뽑기/랜덤 범위설정 number공식

java_자바

by 쫑메이 2020. 8. 5. 00:20

본문

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 


[자바 ]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("한 번 더!");

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

ㅣ읽느라 수고 많으셨어요~ㅣ

 

 

 

 

 

 


 

 

 

 

 

 


 

 

부족한 글을 읽어주셔서 감사드립니다

 

아직 부족한게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

반응형

관련글 더보기