My footsteps
🕺보이즈 플래닛 시나리오🕺 / 최종 코드 본문
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 |