프로그램을 짜다보면 랜덤으로 숫자나 텍스트를 선택해야할 상황이 있다.
그럴때 Java 의 Random 컬랙션을 이용하면 된다.
랜덤을 생성하는 방법은 아래와 같다.
1. java.lang.Math 클래스의 정적메소드인 random() 메소드를 사용하는 방법
2. java.util.Random 클래스를 사용하는 방법
✅ 1. java.lang.Math 클래스의 정적메소드인 random() 메소드를 사용하는 방법
Math.random();
0.0 ~ 1.0 사이의 난수가 1개 발생한다.
ex)0.1561264... 이러한 난수 발생을 통해 원하는 난수범위를 설정할 수 있다.
(int)(Math.random()*10); //0 ~ 10 사이
(int)(Math.random()*100); // 0 ~ 100 사이
(int)(Math.random()*10+10)); //10 ~ 20 사이
위의 코드를 보면 일반적으로 * 기호만 사용하면 기본값이 0 으로 고정되어 있지만 뒤에 + 를 이용하여 숫자를 표시한다면 최솟값을 변경할 수 있다.
EX ) 리스트에서 랜덤으로 값 추출
String[] animals = { "사자", "호랑이", "원숭이", "치타", "기린" };
String randomanimals = animals[(int) (Math.random() * animals.length)];
EX ) 주사위 굴리기
int dice = (int) (Math.random() * 6) + 1; // 1부터 6까지의 정수 반환
System.out.println("주사위의 값이 " + dice + "이(가) 나왔습니다");
✅ 2. java.util.Random 클래스를 사용하는 방법
import java.util.Random; //클래스 사용
Random random =new Random();// random 객체 생성
random.nextLong() // 무작위 long 값
random.nextFloat() //무작위 float 값
random.nextDouble() //무작위 double 값
random.nextBoolean() // 무작위 boolean 값
random.nextGaussian() //무작위 정규 분포의 난수 값
이 컬랙션은 문제를 풀 때 사용한적이 있기 때문에 문제에서 예문을 가져와봤다.
https://computerreport.tistory.com/35
[Java]가위 바위 보 게임
문제 5번의 가위바위보 게임을 해서 승리한 횟수 상당의 상품을 받아가는 게임을 만들어보자.1. 5번의 가위바위보를 진행합니다. 2. 유저는 매 판마다 “가위”, “바위”, “보” 중 하
computerreport.tistory.com
EX)가위,바위,보 컴퓨터 랜덤값 생성
private String[] rcp = {"가위","바위","보"};
public String Randompick() {
//랜덤 객체 생성
Random random =new Random();
//rcp에 있는 배열 인덱스를 랜덤으로 선정
String computerPick = rcp[random.nextInt(rcp.length)];
return computerPick;
}
Math.random 과 마찬가지로 최소값을 변경 시키고 싶으면 + 숫자를 사용하면 된다.
ex)
random.nextInt(4)+1; // 1 ~ 4 까지의 무작위 int 값 리턴
random.nextInt(4)+100; // 100 ~ 103 까지의 무작위 int 값 리턴
'Java' 카테고리의 다른 글
[Java]Enum이란? & 사용법 (0) | 2025.02.28 |
---|---|
[Java]코드 스타일 및 명명 규칙 (0) | 2025.02.24 |
[Java]ArrayList (0) | 2025.02.11 |
[Java]Map 컬렉션 (0) | 2025.02.07 |
[Java]객체 생성(new) (0) | 2025.02.06 |