반응형
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 |
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 메인 메서드가 public static void 이유 (0) | 2022.06.17 |
---|---|
[JAVA] 중첩반복문 (별찍기) (0) | 2022.06.17 |
[JAVA] 배열 이진탐색/이분검색(Binary Search) 알고리즘 (0) | 2022.06.15 |
[JAVA] 배열 버블정렬(Bubble Sort) 알고리즘 (0) | 2022.06.15 |
[JAVA] 반복문 for, while (0) | 2022.06.15 |