반응형
반복문까지의 내용을 활용하여 과제를 진행하였다. 풀이를 진행하며 랜덤의 사용또한 알 수 있다.
1. 과제
1) 요구사항
프로그래머가 미리 정답을 설정해두고 아래와 같이 진행 할 수 있도록 한다.
Q . 1~100사이의 숫자를 선택하세요. -> 70입력
70~100사이의 숫자를 선택하세요. -> 99입력
70~99 사이의 숫자를 선택하세요. -> 98입력
98! 정답입니다! 총 3번만에 맞추셨습니다.
2) 본인 풀이
package test2;
import java.util.Scanner;
public class game {
public static void main(String[] args) {
int asw = 98;
int choice=0;
int cnt = 0;
int j;
String msg = "사이의 숫자를 하나 선택하세요.";
Scanner sc = new Scanner(System.in);
for(int i=1; i<101; i++) {
i=100;
System.out.println("1" + "~" + i + msg);
}
while(true) {
choice = sc.nextInt();
cnt++;
if(choice==asw) {
System.out.println(asw + "!! " + "정답!"+ cnt + "번 만에 맞추셨습니다.");
}else if (choice<asw) {
for(j=choice; j<101; j++) {
j=100;
System.out.println(choice +"~"+ j + msg);
}
}else {
for(j=1; j<=choice; j++) {
j = choice - (choice-1);
System.out.println( j + "~" + choice + msg);
break;
}
}
} // while문 닫기
}
}
[출력화면 : ★ -> 입력]
1~100사이의 숫자를 하나 선택하세요.
99
1~99사이의 숫자를 하나 선택하세요.
99
1~99사이의 숫자를 하나 선택하세요.
60
60~100사이의 숫자를 하나 선택하세요.
70
70~100사이의 숫자를 하나 선택하세요.
54
54~100사이의 숫자를 하나 선택하세요.
98
98!! 정답!6번 만에 맞추셨습니다.
3) 심화
: 유효성검사 진행
package class01;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int ans=44;
int L=1;
int H=100;
int cnt=0;
while(true) { // [수행횟수] 불분명하여 while문 사용!
System.out.print(L+"~"+H+"중에서 숫자하나 선택하세요. ");
int num=sc.nextInt();
if(num<L||H<num) {
System.out.println("잘못된 숫자를 입력하셨습니다. 다시 입력하세요.");
continue;
}
cnt++;
if(num<ans) {
System.out.println(num+"보다 큽니다.");
L=num+1;
}
else if(ans<num) {
System.out.println(num+"보다 작습니다.");
H=num-1;
}
else {
System.out.println(num+"! 정답입니다!!! 총 "+cnt+"번만에 맞추셨습니다.");
break; // 무한루프는 반드시 종료조건을 필요로함!
}
}
}
}
2. Random
1) 선언과 사용
// 1. 초기화 진행
Random r = new Random();
// 2. 사용
int asw = r.nextInt(10); // 0 <= r >10
int asw = r.nextInt(100)+1; // 1~100까지 출력
반응형
'JAVA' 카테고리의 다른 글
[알고리즘] 선택정렬 (0) | 2021.12.26 |
---|---|
[반복문] 랜덤과 중복제거 (0) | 2021.12.23 |
[제어문] 반복문 (0) | 2021.12.22 |
[제어문] 연산자 & 조건문 & 입력함수 (0) | 2021.12.21 |
[변수] 출력코드와 변수 (0) | 2021.12.21 |