코드 반복하기
랜덤한 숫자를 int 변수에 받아준다. (Math.random() 이용)
스캐너로 입력받기
분기할 지점은 언제? (숫자가 같을 때 / 숫자가 클 때 / 숫자가 작을 때)
게임 부분은 객체(클래스)로 따로 분리해서 실행해본다.
import java.util.Scanner;
public class JavaPractice {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("게임 시작 1 | 게임 종료 2");
int n = sc.nextInt();
if (n == 2) {
System.out.println("종료합니다.");
break;
} else {
int num = 10;
int randomNum = (int) (Math.random() * 100 + 1);
// 기회 0 될때까지 업다운 게임 실행, 맞추면 break
while (num > 0) {
System.out.println("숫자 입력 : ");
int inputNum = sc.nextInt();
if (randomNum == inputNum) {
System.out.println("맞췄습니다 ==== " + randomNum);
break;
} else {
num--;
// 입력한 수가 랜덤숫자보다 클 땐 낮추라고 해야함
if (inputNum > randomNum) {
System.out.println("Down ==== " + num + "번 남았습니다.");
} else {
// 입력한 수가 랜덤숫자보다 작을 땐 올리라고 해야함
System.out.println("Up ==== " + num + "번 남았습니다.");
}
}
}
if (num <= 0) {
System.out.println("기회를 모두 소진했습니다. 숫자는 " + randomNum);
}
}
}
}
}
import java.util.Scanner;
class UpDownGame {
private int count = 10;
private int inputNum;
private int randomNum;
public UpDownGame() {
randomNum = (int) (Math.random() * 100 + 1);
}
public void game() {
Scanner sc = new Scanner(System.in);
while (count > 0) {
System.out.println("숫자 입력 : ");
inputNum = sc.nextInt();
if (randomNum == inputNum) {
System.out.println("맞췄습니다 ==== " + randomNum);
break;
} else {
count--;
if (inputNum > randomNum) {
System.out.println("Down ==== " + count + "번 남았습니다.");
} else {
System.out.println("Up ==== " + count + "번 남았습니다.");
}
}
}
if (count <= 0) {
System.out.println("기회를 모두 소진했습니다. 숫자는 " + randomNum);
}
}
}
public class JavaPractice {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
UpDownGame a;
while (true) {
System.out.println("게임 시작 1 | 게임 종료 2");
int n = sc.nextInt();
if (n == 2) {
System.out.println("종료합니다.");
break;
} else {
a = new UpDownGame();
a.game();
}
}
}
}