My footsteps

🕺보이즈 플래닛 시나리오🕺 / 최종 코드 본문

국비수업/CODE

🕺보이즈 플래닛 시나리오🕺 / 최종 코드

밀김 2023. 2. 24. 19:41
728x90
package ex1;
import java.util.Scanner;
public class prictice1 {
	public static void main(String[] args) {
		
		boolean run = true;
//		<--------------while문이 작동하기 위한 변수----------->
		int kboy1 = 0;
		int kboy2 = 0;
		int kboy3 = 0;
		int kboy4 = 0;
		
		int gboy1 = 0;
		int gboy2 = 0;
		int gboy3 = 0;
		int gboy4 = 0;
//		<--------------K,G그룹 각 연습생들 변수----------->		
		
		int group = 0;
//		<--------------그룹 선택 저장 변수----------->
		
		int vote = 0;
//		<--------------투표값 저장 변수----------->
		
		int[] nums = new int[8];
		String[] name = {"성한빈","이다을","한유진","김규빈","석매튜","케이타","콩","제이"};
//		<--------------연습생들 투표 번호,연습생들 이름 배열----------->		
		
		
		out:
		while(run)
		{
			Scanner sc = new Scanner(System.in);
			
			System.out.println("┌♡────────────────────────────♡┐");
			System.out.println("│ 당신의 소년에게 투표하세요!  │");
			System.out.println("└♡────────────────────────────♡┘");
			System.out.println("\"K그룹은 <1번>, G그룹을 <2번>을 입력하세요!<종료:4번>\"");
			System.out.println("- 현재 득표 현황을 보고싶다면 <3번>을 입력하세요!");
			
			group = sc.nextInt();
//			<-------------스타트 멘트----------->			

			while(!(1<=group && group<=4)) {
				System.out.println("잘못된 입력입니다. 다시 입력해주세요.");
				System.out.println("\"K그룹은 <1번>, G그룹을 <2번>을 입력하세요\"");
				group = sc.nextInt();
			}
//			<-------------오류 멘트----------->
			
			switch(group) {
				case 1:
					System.out.println("K그룹을 선택하셨습니다.\n응원하는 소년을 선택해주세요!");
					System.out.println("1.성한빈 2.이다을 3.한유진 4.김규빈");
					vote = sc.nextInt();
					if(1==vote) {
						System.out.println("성한빈 에게 투표하셨습니다.");
						kboy1 += 1;
						nums[0]=kboy1;
						break;
					} else if(2==vote) { 
						System.out.println("이다을 에게 투표하셨습니다.");
						kboy2 += 1;
						nums[1]=kboy2;
						break; 
					}else if(3==vote) { 
						System.out.println("한유진 에게 투표하셨습니다.");
						kboy3 += 1;
						nums[2]=kboy3;
						break; 
					}else if(4==vote) { 
						System.out.println("김규빈 에게 투표하셨습니다.");
						kboy4 += 1;
						nums[3]=kboy4;
						break; 
					}else
						System.out.println("잘못된 입력입니다. 다시 입력해주세요.");
					break;
//					<-------------case 1 (K그룹)----------->
					case 2:
						System.out.println("G그룹을 선택하셨습니다.\n응원하는 소년을 선택해주세요!");
						System.out.println("1.석매튜 2.케이타 3.콩 4.제이");
						vote = sc.nextInt();
						if(1==vote) {
							System.out.println("석매튜 에게 투표하셨습니다.");
							gboy1 += 1;
							nums[4]=gboy1;
							break;
						} else if(2==vote) { 
							System.out.println("케이타 에게 투표하셨습니다.");
							gboy2 += 1;
							nums[5]=gboy2;
						}else if(3==vote) { 
							System.out.println("콩 에게 투표하셨습니다.");
							gboy3 += 1;
							nums[6]=gboy3;
						}else if(4==vote) { 
							System.out.println("제이 에게 투표하셨습니다.");
							gboy4 += 1;
							nums[7]=gboy4;
						}else
							System.out.println("잘못된 입력입니다. 다시 입력해주세요.");
						break;
//						<-------------case 2 (G그룹)----------->
					case 3:
						System.out.println("\"실시간 투표 현황입니다.\"");
						for(int j=0; j<name.length; j++) {
							System.out.printf("%s\t %d\n", name[j], nums[j]);
						}
					break;
//					<-------------case 3 (투표현황)----------->
					case 4:
						System.out.println("투표를 종료합니다.");
						break out;
//					<-------------case 4 (투표종료)----------->		
						
				} //switch문 끝.
		} //가장 큰 while문 끝.
		
		
		

	}
}

 
 
<힘들었던 부분>
- 연습생 각각에게 투표하면 한표가 누적되게 해서 투표값 출력할때 한표가 들어가있는것..
짝궁의 도움을 받아서 해결했다. 풀고보니 엄청 간단했던..;;
kboy1 += 1;
 
- 오늘 배웠던 조금이라도 배열을 활용하려고,투표 현황 부분에서 추가해줬다.
원래는 연습생 각 한명한명의 이름과 표수를 출력하는거라 조꿈 지저분 했는데 배열도 활용하고 쩜 나아짐..(?)
 
- 투표 현황에서 (이름) (점수) 이렇게 뜨게 하고 싶었는데..배열+배열이다보니
pritf를 써야할지, %d같은 어떤 출력문을 써야할지 아무리 생각해도 모르겠어서 뒷자리 에이스 웅니에게 물어봤더니
5분컷으로 해결..

int[] nums = new int[8];
String[] name = {"성한빈","이다을","한유진","김규빈","석매튜","케이타","콩","제이"};
// 연습생들 번호랑, 이름 각각 배열 만들어 주고

if(1==vote) {
	System.out.println("성한빈 에게 투표하셨습니다.");
	kboy1 += 1;
	nums[0]=kboy1;
	break;
} 
//이런식으로 각연습생들의 번호를 눌러서 vote에 저장돼면 한표씩 늘어가게 누적해주고 그 누적된 변수를 다시, 
연습생들 표수 배열에 넣어주었다.

System.out.println("\"실시간 투표 현황입니다.\"");
	for(int j=0; j<name.length; j++) {
		System.out.printf("%s\t %d\n", name[j], nums[j]);
}
//for문으로 연습생들 번호에 맞춰 계속 올라가게 하고 출력은 printf를 이용해 대입식으로 했다.
//%s=문자열배열 대입 \t=탭 %d=숫자배열 대입

 
 

할땐 힘들었는데 하고 나니 뿌듯하다 *~*
 
 

728x90

'국비수업 > CODE' 카테고리의 다른 글

code 실습 / 🔟  (0) 2023.02.28
code 실습 / 9️⃣  (0) 2023.02.27
code 실습 / 8️⃣  (0) 2023.02.24
code 실습 / 7️⃣  (0) 2023.02.24
code 실습 / 6️⃣  (0) 2023.02.23