- 난수 발생 전용 클래스
- 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의 주요메서드
* 주사위 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("한 번 더!");
ㅣ읽느라 수고 많으셨어요~ㅣ
부족한 글을 읽어주셔서 감사드립니다
아직 부족한게 많으니
틀린 곳이 있다면
조언의 말씀 꼭 부탁드립니다!!!!
[java] 자바 배열문제 _array/ 모든 데이터 합/ 짝수,홀수합(반복문,for문) (0) | 2020.08.08 |
---|---|
[java]자바_은행 계좌개설 인스턴스 생성/ 클래스 정의/멤버 변수/ 리턴/메소드 정의및 호출/실제예제공부 (0) | 2020.08.07 |
[java] 자바_ BigInteger & BigDecimal 클래스 원리 쉽게 정리/범위/기본 int형/반복문/사칙연산 메소드 (0) | 2020.08.04 |
[자바] 배열 문제_array in java (0) | 2020.08.03 |
[java] 자바_StringBuilder & StringBuffer클래스 쉽게 정리 /String과 차이점 비교/빌더패턴(Builder Pattern) (0) | 2020.08.02 |