반응형
1~50까지의 범위 중 랜덤 숫자 하나를 맞추는 게임을 작성해보겠습니다.
기회는 10번까지 주어지며, 정해진 숫자가 업인지 다운인지를 확인할 수 있도록 할게요.
Random 난수와 while 조건문, if 조건문, Scanner 클래스를 활용합니다.
package day17;
import java.util.Random;
import java.util.Scanner;
/*
* 직접 키보드 입력으로 숫자를 추측하는 작업을 맞출 때까지 반복하기.
* 단 10번의 기회가 주어지며, 10번 시도하고도 못 맞추면 그때 반복이 끝난다.
* 업다운을 알려주는 기능을 포함한다.
*/
public class Quiz03 {
public static void main(String[] args) {
Random rn = new Random(System.currentTimeMillis());
int correctNumber = rn.nextInt(50)+1;
Scanner sc = new Scanner(System.in);
int chance = 0;
while(true) {
System.out.println("랜덤 숫자를 입력해보세요! : ");
int guess = sc.nextInt();
if(correctNumber == guess) {
System.out.println("정답.");
break;
}else if(correctNumber > guess){
System.out.println("업");
}else if(correctNumber < guess){
System.out.println("다운");
}
chance++;
if(chance == 10 ) {
System.out.println("도전 실패!");
break;
}
}
}
}
package day17;
import java.util.Random; // 랜덤 클래스 호출
import java.util.Scanner; // 스캐너 클래스 호출
public class Quiz03 {
public static void main(String[] args) {
Random rn = new Random(System.currentTimeMillis()); //현재시각을 기점으로 랜덤한 수 추출하여 변수 rn 에 입력
int correctNumber = rn.nextInt(50)+1; // rn 은 51까지의 랜덤 숫자에서 고르고 그 수를 정수 correctNumber 변수에 입력
Scanner sc = new Scanner(System.in); // 스캐너 인스턴스 sc를 생성합니다.
int chance = 0; // 기회는 10번까지니 0부터 카운팅합니다.
while(true) {
System.out.println("랜덤 숫자를 입력해보세요! : ");
int guess = sc.nextInt(); // 입력 콘솔로 받은 값을 guess 에 저장
if(correctNumber == guess) {
System.out.println("정답.");
break;
}else if(correctNumber > guess){
System.out.println("업");
}else if(correctNumber < guess){
System.out.println("다운");
}
chance++; // 첫 번째 if문에서 한 번 넘어올 때마다 기회의 수를 1씩 증가합니다.
if(chance == 10 ) { // 기회의 수가 10번이 되었을 때 종료
System.out.println("도전 실패!");
break;
}
}
}
}
반응형
'자바 > 자바 코드 예제 만들기' 카테고리의 다른 글
자바 기초 예제문제 6. equals() 메소드를 오버라이딩 해서 좌표 비교 (공부중) (0) | 2022.11.01 |
---|---|
자바 기초 예제문제 5. 상속 기반으로 인맥 관리 프로그램 관리 대상 묶기 (0) | 2022.10.31 |
자바 기초 예제문제 4. 입력한 문자열 비교해서 비교 결과 출력하기 (0) | 2022.10.28 |
자바 기초 예제문제 3. 제곱근을 구하기 (2의 n승 구하기) (0) | 2022.10.27 |
자바 기초 예제 문제 2. 자바로 소수값 출력하기 (0) | 2022.10.26 |