코딩/2-JAVA

C0807배열입력심화

tree0505 2025. 6. 25. 11:05
반응형
  • C0807배열입력심화

  • C0807개념01_컨트롤러ATM
package C0807배열입력심화;


import java.util.Arrays;
import java.util.Scanner;

/*
	[문제]
		ATM 전체 기능 구현
		
		1. 회원가입
			1) acc와 pw를 입력받아 가입한다.
			2) 가입 시 돈 1000원이 부여된다.
			3) acc 중복검사를 진행한다.
		2. 회원탈퇴
			1) 로그인 후에만 이용할 수 있다.
		3. 로그인
			1) 로그아웃 상태에서만 이용할 수 있다.
			2) acc와 pw를 입력받아 로그인한다.
		4. 로그아웃
			1) 로그인 후에만 이용할 수 있다.
		5. 입금
			1) 로그인 후에만 이용할 수 있다.
		6. 이체
			1) 로그인 후에만 이용할 수 있다.
		7. 잔액조회
			1) 로그인 후에만 이용할 수 있다.
*/

public class C0807개념01_컨트롤러ATM {
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		
		int max = 5;
		
		int[] accList = new int[max];
		int[] pwList = new int[max];
		int[] moneyList = new int[max];
		
		int count = 0;
		int log = -1;
		
		while(true) {
			for(int i=0; i<count; i++) {
				System.out.println(accList[i] + ":" + pwList[i] + " (" + moneyList[i] + "원)");
			}
			
			// 로그아웃 상태
			if(log == -1) {
				System.out.println("[로그인 해주세요.]");
			}else {
				System.out.println("[" + log + "]");
			}
			
			System.out.println("[1]회원가입 [2]회원탈퇴 [3]로그인 [4]로그아웃");
			System.out.println("[5]입금 [6]송금 [7]조회 [8]전체회원목록 [0]종료");
			
			System.out.print("메뉴를 선택해주세요 : ");
			int sel = scan.nextInt();
			
			if(sel == 1) {
				// 추가
				if(count == max) {
					System.out.println("더이상 가입할 수 없습니다.");
					// continue;	// while(true)로 강제 이동
				} else {
					System.out.print("[회원가입]계좌번호 입력 : ");
					int acc = scan.nextInt();
					
					// acc 중복검사
					boolean check = false;
					for(int i=0; i<count; i++) {
						if(accList[i] == acc) {
							check = true;
							break;
						}
					}
					
					if(check) {
						System.out.println("계좌번호가 중복됩니다.");
					}else {
						System.out.print("[회원가입]비밀번호 입력 : ");
						int pw = scan.nextInt();
						
						accList[count] = acc;
						pwList[count] = pw;
						moneyList[count] = 1000;
						count += 1;
						
						System.out.println("회원가입을 축하합니다.");
					}
				}
				
				
			}
			else if(sel == 2) {
				if(log == -1) {
					System.out.println("로그인 후 이용할 수 있습니다.");
					// continue;
				} else {
					System.out.print("[회원탈퇴]계좌번호 입력 : ");
					int acc = scan.nextInt();
					System.out.print("[회원탈퇴]비밀번호 입력 : ");
					int pw = scan.nextInt();
					
					int index = -1;
					for(int i=0; i<count; i++) {
						if(accList[i] == acc && pwList[i] == pw) {
							index = i;
							break;
						}
					}
					
					if(index == -1) {
						System.out.println("계좌번호와 비밀번호를 확인해주세요.");
					}else {
						for(int i=index; i<count - 1; i++) {
							accList[i] = accList[i + 1];
							pwList[i] = pwList[i + 1];
							moneyList[i] = moneyList[i + 1];
						}
						
						accList[count - 1] = 0;
						pwList[count - 1] = 0;
						moneyList[count - 1] = 0;
						
						count -= 1;
						log = -1;
						System.out.println("회원탈퇴완료를 완료하였습니다.");
					}
				}
			}
			else if(sel == 3) {
				if(log == -1) {
					System.out.print("[로그인]계좌번호 입력 : ");
					int acc = scan.nextInt();
					System.out.print("[로그인]비밀번호 입력 : ");
					int pw = scan.nextInt();
					
					for(int i=0; i<count; i++) {
						if(accList[i] == acc && pwList[i] == pw) {
							log = acc;
							break;
						}
					}
				}
				
				if(log == -1) {
					System.out.println("계좌번호와 비밀번호를 확인해주세요.");
				}else {
					System.out.println("로그인에 성공했습니다.");
				}
			}
			else if(sel == 4) {
				if(log == -1) {
					System.out.println("로그인 후 이용가능합니다.");
				}else {
					log = -1;
					System.out.println("로그아웃 되었습니다.");
				}
			}
			else if(sel == 5) {
				if(log == -1) {
					System.out.println("로그인 후 이용가능합니다.");
				}else {
					int index = 0;
					for(int i=0; i<count; i++) {
						if(accList[i] == log) {
							index = i;
							break;
						}
					}
					
					System.out.print("[입금]금액을 입력하세요 : ");
					int money = scan.nextInt();
					moneyList[index] += money;
					System.out.println("입금을 완료하였습니다.");
				}
			}
			else if(sel == 6) {
				if(log == -1) {
					System.out.println("로그인 후 이용가능합니다.");
				}else {
					int index = 0;
					for(int i=0; i<count; i++) {
						if(accList[i] == log) {
							index = i;
							break;
						}
					}
					
					System.out.print("[송금]계좌번호를 입력하세요 : ");
					int sendacc = scan.nextInt();
					
					int sendIndex = -1;
					for(int i=0; i<count; i++) {
						if(accList[i] == sendacc) {
							sendIndex = i;
						}
					}
					
					if(sendIndex == -1) {
						System.out.println("계좌번호를 확인해주세요.");
					}else {
						System.out.print("[송금]금액을 입력하세요 : ");
						int money = scan.nextInt();
						
						if(moneyList[index] >= money) {
							moneyList[index] -= money;
							moneyList[sendIndex] += money;
							System.out.println("송금을 완료하였습니다.");
						}else {
							System.out.println("계좌잔액이 부족합니다.");
						}
					}
					
				}
			}
			else if(sel == 7) {
				if(log == -1) {
					System.out.println("로그인 후 이용가능합니다.");
				}else {
					int index = 0;
					for(int i=0; i<count; i++) {
						if(accList[i] == log) {
							index = i;
							break;
						}
					}
					
					System.out.println(log + " : " + moneyList[index]);
				}
			}
			else if(sel == 8) {
				System.out.println(Arrays.toString(accList));
				System.out.println(Arrays.toString(pwList));
				System.out.println(Arrays.toString(moneyList));
			}
			else if(sel == 0) {
				System.out.println("프로그램을 종료합니다.");
				break;
			}
			
			
		}
		
		scan.close();
		
	}
}

  • C0807개념02_UI개선
package C0807배열입력심화;


import java.util.Scanner;

public class C0807개념02_UI개선 {
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);

		int arr[] = { 10, 32, 11, 56, 7 };
		
		int player = 2;
		
		while (true) {
			for(int i=0; i<100; i++) {
				System.out.println();
			}

			System.out.println("[숫자 전부 지우기]");
			for (int i = 0; i < arr.length; i++) {
				System.out.printf("[%2d]", arr[i]);
			}
			System.out.println();
			
			// 게임 종료
			boolean run = false;
			for (int i = 0; i < arr.length; i++) {
				if (arr[i] != 0) {
					run = true;
					break;
				}
			}
			if(run == false) {
				break;
			}
			
			for (int i = 0; i < arr.length; i++) {
				if (i == player) {
					System.out.print("[ ↑]");
				} else {
					System.out.print("[  ]");
				}
			}
			System.out.println();
			
			System.out.println("1) left 2) right 3)choice");
			int select = scan.nextInt();
			
			if (select == 1 && player > 0) {
				player -= 1;
			} else if (select == 2 && player < arr.length - 1) {
				player += 1;
			} else if (select == 3) {
				arr[player] = 0;
				
			}
		}
		
		scan.close();
		
	}
}

  • C0807배열입력심화_문제

  • C0807문제01
    • 전체 요약
      • 1부터 4까지 중복 없이 배열에 저장합니다.
      • 사용자에게 작은 수부터 순서대로 "그 수가 있는 인덱스"를 맞추라고 합니다.
      • 맞추면 해당 값을 9로 바꾸고 다음 수로 진행, 틀리면 재시도.
      • 배열의 모든 값이 9가 되면 게임이 종료됩니다.
    • while (true) {  //반복 실행 
    • }
      • 조건이 항상 참이기 때문에 절대 종료되지 않는 반복문입니다.
      • 이런 경우에는 보통 내부에 break 조건을 넣어 강제로 반복을 중단시켜야 합니다.
      • while (true) {
            if (조건이 참이면) {
                break; // 반복 종료
            }
        }
    • 이 코드에서 사용된 while(j < arr.length)는 유한 반복
      • 조건: j < arr.length → j가 0, 1, 2, 3일 때는 true, 4가 되면 false가 되어 종료됨
      • 즉, arr 배열의 길이만큼 반복되는 구조입니다 (이 예제에서는 4번 반복)
package C0807배열입력심화_문제;

import java.util.Arrays; // 배열 출력용 Arrays.toString() 사용
import java.util.Random; //난수 생성기
import java.util.Scanner; //사용자 입력을 받기 위해 사용

/*
	[문제]
		1. arr배열에 1~4 사이의 숫자를 랜덤하게 중복없이 저장한다.
		2. 사용자는 가장 작은수 1부터 순서대로 해당 방번호(인덱스)를 입력한다.
		3. 정답을 맞추면 해당 값을 9로 변경되어
		4. 모든 값이 9가되면 게임은 종료된다.
	[예시]
		{4, 2, 3, 1}
	
		인덱스 입력 : 3
		결과 : {4, 2, 3, 9}
		1은 가장 작은수 이므로 9로 변경한다. 
		
		인덱스 입력 : 0
		결과 : {4, 2, 3, 9}
		4는 가장 작은수가 아니므로 변화가 없다. 
*/

public class C0807문제01 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		Random ran = new Random();
		
		int[] arr = new int[4];
		//빈배열 [0,0,0,0] 4칸? 
		//길이가 4인 정수 배열 arr 생성. 초기값은 모두 0입니다.
		//예: [0, 0, 0, 0]
		boolean[] check = new boolean[4];
		//배열이 생기는데. [f,f,f,f] //이렇게 생기나?
		//boolean을 넣었기 때문에?? 
		//중복 없이 숫자를 넣기 위한 체크 배열.
		//예: [false, false, false, false] → 이미 사용한 숫자 확인용.
		//----------------------------------------------------------
		
		//!!!! 중복 없이 배열을 채우는 핵심 코드
		//처음 실행을 할때. arr배열에 중복되지 않도록 숫자를 세팅한것 
		
		int j = 0;  
		//배열에 채워 넣을 인덱스 (arr[j])를 제어하는 변수.
		//j는 arr의 인덱스를 의미합니다
		
		//while문은 게임 시작 준비 단계입니다.
		while(j < arr.length) { 
			//arr의 모든 요소(4개)를 채울 때까지 반복.
			//"j가 0, 1, 2, 3일 때 반복한다"
			//즉, 4번 반복 (인덱스 기준)
			//while(j < arr.length)는 배열의 길이만큼 반복
				//j가 0부터 3까지, 총 4번 실행됨
				//j = 4가 되면 조건이 false가 되어 자동으로 종료됨
			// 랜덤 숫자를 중복 없이 배열 arr에 채워넣는 로직
			
			int rNum = ran.nextInt(4);
			
			if(check [rNum] == false) { 
				//이 숫자(rNum)가 이전에 사용된 적이 없다면...
				//!!! 이 조건이 중복을 막는 핵심입니다.
				check[rNum] = true; 
				//해당 숫자를 사용했다고 표시.
				//check의 배열의 rNum의 방번호에 true로 바꿔라 
				arr[j] = rNum + 1; 
				//arr[j]에 rNum + 1 값을 저장 (즉, 1~4 중 하나 저장).
				//arr배열에 숫자가 들어갔다. 
				j += 1; //다음 위치로 이동하기 위해 j 증가.
			}
		}
		//while문이 끝나는 기준. arr 배열이 다 채워지면 끝난다. 
		// j가 4가 되면 끝난다. //j == 4가 되는 순간 → j < 4가 false → 반복 종료
		
		//---------------------------------------------
		int gameNum = 1; //현재 맞춰야 할 숫자 (1부터 시작해서 4까지).
		for(int i = 0; i<arr.length; i++) {
			//최대 4번의 시도(=정답 4개 입력) 동안 반복. 단, 오답이면 i--로 재시도.
			System.out.println(Arrays.toString(arr)); //현재 배열 상태 출력.
			
			System.out.print("가장 작은 숫자의 위치를 입력하세요");
			int index = scan.nextInt();
			
			if(arr[index] == gameNum) {
				//사용자가 선택한 인덱스의 값이 현재 정답(gameNum)인지 확인.
				//4개의 정답을 모두 맞추면 (즉, if(arr[index] == gameNum)가 참인 횟수가 4번) 종료됩니다.
				//결국, if가 참인 횟수가 4번이 되는 순간 게임이 끝나는 셈입니다
				
				arr[index] = 9;
				//맞췄으면 해당 위치의 숫자를 9로 바꿈. (게임 종료 조건: 모두 9)
				gameNum += 1; 
				//다음에 맞춰야 할 숫자를 1 증가시킴.
			}else {
				i -= 1;  
				//틀렸으면 i를 1 줄여서 다시 같은 단계 반복. (총 정답 4개 맞출 때까지 진행)
				//for문은 기본적으로 횟수가 정해진 반복이기 때문에,
				//오답 시 카운트를 되돌려야 정답 4개를 정확히 맞출 수 있습니다.
			}
		}
		scan.close();
		
	}
}

  • C0807문제02
package C0807배열입력심화_문제;

import java.util.Scanner;

/*
	[문제]
		1. 추가
			(1) 값을 5개까지만 저장 가능
			(2) 중복되는 값은 저장 불가
			(3) 차례대로 뒤로 저장
		3. 수정
			(1) 인덱스를 입력받아 수정
			(2) 인덱스를 올바르게 입력했는지 검사
			(3) 중복되는 값으로 수정 불가
		4. 삭제(값)
			(1) 삭제할 값을 입력받아 해당 값 삭제
			(2) 입력받은 값이 올바른지 검사
			(3) count == 0 이 되면, 더이상 삭제할 값이 없다는 메세지 출력
		5. 삽입
			(1) 삽입할 위치값 입력받기
			(2) 삽입할 값 입력받기
			(3) 입력받은 값의 중복검사
			(4) 5개까지 삽입 가능
 */


public class C0807문제02 {
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		
		int[] arr = {0, 0, 0, 0, 0};
		//크기 5인 정수 배열 arr를 0으로 초기화합니다. 최대 5개의 값을 저장할 수 있습니다
		
		int count = 0;
		//현재 배열에 저장된 실제 값의 개수를 저장하는 변수입니다.
		//0부터 시작해 값이 추가될 때마다 증가합니다.
		
		//-----------------------------------------------------
		while(true) {
			for(int i=0; i<count; i++) {
				//현재 저장된 값만큼 배열을 순회하며 출력합니다.
				//count가 배열에 저장된 값의 수를 의미하므로, 0부터 count-1까지 출력합니다.
				
				System.out.print(arr[i] + " ");
			}
			System.out.println();
			
			System.out.println("===[회원가입]===");
			System.out.println("0.종료");
			System.out.println("1.추가");
			System.out.println("2.수정");
			System.out.println("3.삭제(인덱스)");
			System.out.println("4.삭제(값)");
			System.out.println("5.삽입");
			
			int sel = scan.nextInt();
			//----------------------------------------
			if(sel == 0) {
				break;
			}
			//----------------------------------------
			else if(sel == 1) { //추가 
				//else if는 앞에 있는 if 조건이 거짓(false)일 때만 실행됩니다.
				if(count < 5) {
					//(count < 5)이게 참이면 밑을 실행? 
					System.out.print("[추가]값을 입력하세요 : ");
					int value = scan.nextInt(); //사용자 
					
					// 중복검사
					boolean check = false;
					//중복 여부를 표시할 변수 check를 만든다.
					//처음엔 false로 초기화(중복된 값이 아직 없다는 의미).
					for(int i=0; i<count; i++) {
						//0부터 현재까지 저장된 데이터 개수(count)만큼 반복한다.
						//즉, 저장된 값들만 검사하기 위해 반복.
						if(arr[i] == value) {
							//배열의 i번째 값이
							//입력받은 value와 같은지 비교한다.
							//같으면 중복된 값이 있다는 의미.
							//for문을 돌면서 arr[i] == value인 순간이 오면 true로 바뀌어요.
							check = true;
							//만약 위 조건이 참이면, check를 true로 바꾼다.
							//즉, 중복이 발생했음을 표시.
						}
					}
					
					if(check) {
						System.out.println("중복되는 값은 저장할 수 없습니다.");
					}else {
						arr[count] = value;
						count += 1;
					}
				}else {
					System.out.println("더 이상 값을 추가할 수 없습니다.");
				} 
			//-----------------------------------------------------
			}else if(sel == 2) { //수정 

				if(count == 0) {
					System.out.println("수정할 값이 없습니다.");
					continue; // 반복문을 건너뛰고 메뉴 처음으로 돌아갑니다.
				}
				System.out.print("[수정]위치를 입력하세요 : ");
				int index = scan.nextInt();
				
				if(0 <= index && index < count) {
					//사용자가 입력한 값은 인덱스 . 방번호인데. 
					//현재 count만큼 배열에 있기 때문에. count만큼 제한을 둔것 
					//현재 저장된 개수(count) 미만이어야 유효한 인덱스입니다.
					System.out.print("[수정]값을 입력하세요 : ");
					
					int value = scan.nextInt();
						//이 줄은 if 조건이 참일 때만 실행됩니다.

					
					// 중복검사
					boolean check = false;
					for(int i=0; i<count; i++) {
						if(arr[i] == value) {
							check = true; //중복
						}
					}
					
					if(check) {
						System.out.println("중복되는 값은 저장할 수 없습니다.");
					}else {
						arr[index] = value; 
						//사용자가 선택한 방번호에. 그 자리에 값을 넣는다. 
					}
				}else {
					System.out.println("위치값을 잘못 입력했습니다.");
				}
			//-----------------------------------------------------------
			}else if(sel == 3) { //삭제 (인덱스)
				if(count > 0) {
					//배열에 저장된 값이 하나라도 있을 때만 삭제 가능.
					//저장된 값이 하나도 없으면 삭제할 수 없으므로 이 조건으로 먼저 검사합니다.
					
					System.out.print("[삭제]인덱스를 입력하세요 : ");
					int index = scan.nextInt();
					
					if(0 <= index && index < count) {
						//입력받은 index가 유효한지 확인합니다.
						//0 <= index → 음수 입력 방지
						//index < count → 현재 저장된 데이터 개수 안에 들어 있는 인덱스여야 함
						//참이면,
							//👉 사용자가 입력한 index가 현재 배열에서 유효한 위치이기 때문에 삭제를 진행할 수 있습니다.
						
						//삭제 //입력한 인덱스의 값을 삭제 //한 칸씩 앞으로 당기는 로직
						for(int i=index; i<count - 1; i++) {
							//삭제하려는 위치(index)부터 뒤쪽 값을 하나씩 당겨서 덮어씌웁니다.
							//이 작업은 삭제 후 빈 공간을 없애고 정렬을 유지하는 역할을 합니다.
							//이 반복문은 **삭제하려는 위치(index)**부터 시작해서
								//**마지막 값 바로 전(count - 2)**까지 반복합니다.
								//왜냐하면 우리는 arr[i] = arr[i + 1]을 할 것이기 때문에
								//마지막 값에 접근할 때 arr[i + 1]이 범위를 벗어나면 안 되기 때문이에요.
							arr[i] = arr[i + 1];
							//현재 위치의 값을, 바로 다음 값으로 덮어씁니다.
							//즉, 삭제한 공간을 오른쪽 값으로 채워 넣습니다.
							
						}
						count = count - 1;
						//실제로 저장된 데이터 개수를 하나 줄입니다.
						//이제 마지막 요소는 더 이상 유효한 값이 아니므로, count를 줄여서 무시합니다.
					
						
					}else {
						System.out.println("위치값을 잘못 입력했습니다.");
						//입력한 인덱스가 0 미만이거나, count 이상이면
						//→ 유효하지 않은 위치이므로 경고 메시지를 출력합니다.
					}
					
				}else {
					System.out.println("더이상 삭제할 값이 없습니다.");
					//애초에 count == 0이면 저장된 값이 없으므로,
					//→ 삭제할 게 없다는 메시지를 출력합니다.
				}
			}
			//-----------------------------------------------------
			else if(sel == 4) { //삭제 (값) 
				if(count > 0) {
					//배열에 값이 하나라도 있어야 삭제할 수 있어요.
					//count == 0이면 아무것도 저장된 게 없기 때문에 삭제 불가능!
					System.out.println("[삭제]값을 입력하세요 : ");
					int value = scan.nextInt();
					
					int index = -1; //"찾지 못했다"는 초기값입니다.
					//방번호 찾기 
						//for문은 배열을 처음부터 끝까지 돌면서 입력한 값이 있는 인덱스를 찾습니다.
					for(int i=0; i<count; i++) {
						if(arr[i] == value) {
							index = i;
							//마지막으로 찾은 값의 위치만 저장해요.
							//(즉, 같은 값이 여러 개 있으면 가장 오른쪽 값이 삭제됩니다.)
						}
					}
					
					if(index == -1) {
						System.out.println("값을 잘못 입력했습니다.");
					}else { //위 조건이 거짓일 때, 즉 값을 배열에서 찾았을 때 실행됩니다.
						// 값을 찾았을 때 → 삭제 수행
						for(int i=index; i<count - 1; i++) {
							arr[i] = arr[i + 1];
						}
						count = count - 1;
					}
				}else { //처음 조건 if(count > 0)이 거짓인 경우
					System.out.println("더이상 삭제할 값이 없습니다.");
				}
			//--------------------------------------------------------------
			}else if(sel == 5) { //삽입 
				if(count < 5) {
					System.out.print("[삽입]위치를 입력하세요 : ");
					int index = scan.nextInt();
					
					if(0 <= index && index <= count) {
						//올바른 위치인지 검사 (인덱스는 0 이상, count 이하)
						//<= count인 이유: 맨 끝에 삽입하는 것도 허용해야 하니까요!
						System.out.print("[삽입]값을 입력하세요 : ");
						int value = scan.nextInt();
						
						// 중복검사
						boolean check = false;
						for(int i=0; i<count; i++) {
							if(arr[i] == value) {
								check = true;
							}
						}
						
						if(check) {
							System.out.println("중복되는 값은 저장할 수 없습니다.");
						}else {
							for(int i=count; i>index; i--) {
								arr[i] = arr[i - 1];
							}
							arr[index] = value;
							count += 1;
						}
					}else {
						System.out.println("해당 위치에는 삽입할 수 없습니다.");
					}
					
				}else {
					System.out.println("더이상 값을 추가할 수 없습니다.");
				}
			}
		}
		
		scan.close();
		
	}
}

  • C0807문제03
package C0807배열입력심화_문제;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

/*
	[문제]
		1. arr배열에 1~100 사이의 랜덤값 6개를 저장한다.
			예) arr = {7, 45, 3, 6, 7, 1}
		2. 배열의 값을 차례대로 출력한다. 그리고 선택 보기를 출력한다.
			예)
				1번 : 7
				(1)홀 (2) 짝
				
				2번 : 45
				(1)홀 (2) 짝
				...
		3. 제시된 문제가 홀수이면 1, 짝수이면 2를 선택한다.
		4. 6회 반복하고 정답개수를 출력한다.
*/

public class C0807문제03 {
	public static void main(String[] args) {
		
		Scanner scan = new Scanner(System.in);
		Random ran = new Random();
		
		int[] arr = new int[6];
		
		for(int i=0; i<arr.length; i++) { //0부터 5까지 6번 반복
			arr[i] = ran.nextInt(100) + 1;
			//여기에 +1을 해서 1~100 사이의 랜덤값을 배열 arr에 저장
		}
		System.out.println(Arrays.toString(arr));
		
		int count = 0; //맞춘 문제 개수를 저장할 변수 초기화 (처음에는 0)
		
		for(int i=0; i<6; i++) {
			System.out.println((i+1) + "번 : " + arr[i]);
			//문제 번호(i+1)와 해당 위치의 배열 값을 출력
			System.out.println("(1)홀 (2)짝");
			
			int answer = 1; //여기서 1은 홀수를 의미해요
			if(arr[i] % 2 == 0) {
				//arr[i]는 배열에서 현재 문제로 선택된 숫자입니다.
				answer = 2;
				//조건문이 참(즉, 숫자가 짝수)이면 answer 변수에 2를 대입합니다.
				//여기서 2는 짝수를 의미해요.
			}
			
			int select = scan.nextInt();
			
			if(answer == select) {
				System.out.println("정답!");
				count += 1;
			} else {
				System.out.println("오답!");
			}
		}
		System.out.println("정답 개수 = " + count);
		
	}
}
반응형