Test/JAVA Test

369게임 + 명예의 전당 프로그램

오류나면꽥꽥 2023. 5. 18. 13:23

1의 게임을 3번할건데,
3번 다 정답이면 이름을 입력받아서
ㅁㅁㅁ님 축하합니다!~~ 상품드리겠습니다!~~~
[19] : 짝
정답입니다!
[19] : 19
오답입니다.....
 - 끝 -
[19] : 짝
정답입니다!
[19] : 짝
정답입니다!
[19] : 짝
정답입니다!
이름입력) 홍길동
김효경님 축하합니다!~~ 상품드리겠습니다!~~~

 

명예의 전당
2의 게임을 통과한 사람들의 목록을 출력해주세요!~~

1. 홍길동
2. 임꺽정
3. 티모
4. 아트록스
5. 모르가나

최대 5명
5명 찰때까지 계---속

public class Test03 {
	// input: 정답과 사용자의 입력값을 알려주면
	// output: 맞췄는지 틀렸는지를 반환
	public static boolean check(int num,String user) {
		final int NUM=num;
		int cnt=0; // 박수의 개수

		int x=1000;
		while(x>0) {
			int n=num/x;
			if(n==3 || n==6 || n==9) {
				cnt++;
			}

			num%=x; // 1234 -> 234
			x/=10;
		}

		String ans="";
		for(int i=0;i<cnt;i++) {
			ans+="짝";
		}
		if(cnt==0) {
			ans=Integer.toString(NUM);
		}

		System.out.println("ans: "+ans);
		System.out.println("user: "+user);

		if(ans.equals(user)) {
			return true;
		}
		return false;
	}

	public static void main(String[] args) {

		// while(최대 3번)
		//     [1]
		//     if(오답이라면) -> 종료조건
		//         break;
		// if(3번 다 정답이야?)
		//     이름 입력
		//     입력받은 이름을 출력

		Scanner sc=new Scanner(System.in);
		Random rand=new Random();

		final int LV=3;
		int i=0;
		while(i<LV) {
			int num=rand.nextInt(1000)+1;
			System.out.print("["+num+"] : ");
			String user=sc.next();

			if(!check(num,user)) { // 오답상황이라면, -> 종료조건
				System.out.println("오답입니다.....");
				break;
			}
			System.out.println("정답입니다!");
			i++;
		}

		if(i==LV) {
			System.out.print("이름입력) ");
			String name=sc.next();
			System.out.println(name+"님, 축하합니다!~~");
		}


	}
}