java.util.Random
무작위 값을 얻을 때 사용하는 클래스다.
생성방법
Random random = new Random();
생성자
Random()
- 기본 생성자로 Random 인스턴스를 생성하면 currentTimeMillis()(현재시간)를 종자 값으로하는 인스턴스 생성
Random(long seed)
- seed를 종자 값으로 하는 인스턴스 생성, 같은 종자 값을 입력하면 항상 동일한 순서의 무작위 수를 생성한다.
예시) Random random1 = new Random(2);
Random random2 = new Random(2);
위 두 개의 랜덤 값은 같다.
메서드
메서드 | 의미 |
int nextInt() | 무작위 int 값 반환 참조변수.nextInt(); |
int nextInt(int n) | 0부터 n전 까지의 랜덤 값 반환 참조변수.nextInt(10); ==> 0~9 |
long nextLong() | 무작위 long 값 반환 참조변수.nextLong(); |
double nextDouble() | 0.0부터 1.0전 까지의 무작위 double 값 반환 참조변수.nextDouble(); |
float nextFloat() | 0.0부터 1.0전 까지의 무작위 float 값 반환 참조변수.nextFloat(); |
boolean nextBoolean() | 무작위 boolean값 반환 참조변수.nextBoolean(); ==> true? false? |
활용 예시(주사위 굴리기 프로그램)
import java.util.Random;
import java.util.Scanner;
public class exam {
public static void main(String[] args) {
Random rd = new Random();
int first;
int second;
String answer = "y";
Scanner input = new Scanner(System.in);
while(answer.equals("y")) {
first = rd.nextInt(6)+1;
second = rd.nextInt(6)+1;
System.out.println("주사위를 굴리시겠습니까? y or n");
answer = input.nextLine();
System.out.println("첫 번째 주사위 값 : "+first);
System.out.println("두 번째 주사위 값 : "+second);
if(first==second) {
System.out.println("축하합니다. 따따블입니다~");
}
}
}
}
1. Random 객체 생성, 참조변수 rd
2. 변수 선언(first, second) 및 초기화(answer)
3. Scanner 객체 생성, 참조변수 input
4. 반복문 while, 반복 조건으로 "answer의 값이 "y"와 일치시 true"(answer은 참조형이기 때문에 equals()로 비교)
while문 내부 작성
5. first, second 변수 초기화 진행, 값을 "rd.nextInt(6)+1"로 지정 1~6까지의 랜덤 값 할당
6. println()으로 주사위를 굴릴지 확인 문구 출력
7. answer변수에 input.nextLine()할당.
콘솔을 통해 문자열을 입력하고, 입력한 값을 answer변수에 대입
8. println()으로 first, second변수를 출력하여 랜덤 값 확인
9. if문을 사용해 만약 first변수와 second 변수의 값이 일치한다면 println()으로 축하 문구 출력
10. while문의 조건을 확인 7. 에서 입력한 값이 "y"라면 다시 한 번 반복
'Back_end > JAVA' 카테고리의 다른 글
JAVA - 기본 API(BigDecimal, Wrapper) (0) | 2024.09.27 |
---|---|
JAVA - 기본 API(java.util.Scanner) (0) | 2024.09.27 |
JAVA - 기본 API(Date, Calendar) (1) | 2024.09.27 |
JAVA - 기본 API(문자열 클래스) (1) | 2024.09.26 |
JAVA - 내부 클래스 (0) | 2024.09.23 |