본문 바로가기

JAVA

[JAVA] 배열 랜덤(Random) 숫자 생성

반응형

java.util.Random 클래스를 사용하여 난수를 리턴 받을 수 있다. 

가장 기본적인 정수 랜덤 뽑기부터 해보겠습니다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package blog;
 
import java.util.Random;
 
public class random_riview {
    public static void main(String[] args) {
 
    Random random = new Random();
    
    //for문을 사용하여 10개의 랜덤수를 만들어보자.
    for(int i = 0; i<10; i++) {
        int num = random.nextInt(45); // 랜덤숫자는 0~45까지 
        System.out.print(num+" ");
    }
}
}
cs

위 결과는 0~45까지의 숫자중에 랜덤으로 1개의 값을 리턴해줍니다. 

만약에 1~45까지의 정수값만 리턴 받고 싶다면 하기와 같이 +1만 해주면 됩니다. 

int num = random.nextInt(45)+1;

 

<응용문제>

랜덤과 이진탐색 알고리즘을 사용하여 숫자맞추기 게임인

목숨은 5개이고 목숨이 다 사라지면 게임이 종료! 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package class05;
 
import java.util.Random;
import java.util.Scanner;
 
public class Test08 {
 
    public static void main(String[] args) {
        Random random=new Random(); // 랜덤 생성
 
        Scanner sc = new Scanner(System.in); 
 
        int L = 1;
        int H = 100;
        int ans=random.nextInt(100)+1;
        int LIFE = 5//flag의 개념 
 
        while (true) {
            for (int i = 0; i < LIFE; i++) {
                System.out.print("♥");
            }
            System.out.println();
            System.out.println(L+"~"+H+"정답 : ");
            int num = sc.nextInt();
            System.out.println();
 
            if (num==ans) {
                System.out.println();
                System.out.println("정답입니다!");
                break;
            }
 
            if (LIFE==0) {
                System.out.println("게임오버...");
                break;
            }
            else if (num>ans) {
                System.out.println("DOWN!");
                H = num-1;
            }
            else {
                System.out.println("UP!");
                L = num+1;
            }
            LIFE--;
        }
    }
}
 
cs
반응형