import java.util.Scanner;
import java.util.Vector;
public class ex11_1 {
private Scanner sc = new Scanner(System.in);
private Vector<Nation> v = new Vector<Nation>();
public ex11_1() {
v.add(new Nation("그리스","아테네"));
v.add(new Nation("일본","도쿄"));
v.add(new Nation("미국","뉴욕"));
v.add(new Nation("영국","런던"));
v.add(new Nation("독일","베를린"));
v.add(new Nation("캐나다","오타와"));
v.add(new Nation("중국","베이징"));
v.add(new Nation("싱가포르","싱가포르"));
v.add(new Nation("인도","뉴델리"));
}
public void run() {
System.out.println("**** 수도 맞추기 게임을 시작합니다. ****");
while(true) {
System.out.print("입력:1, 퀴즈:2, 종료:3>>");
int num = sc.nextInt();
switch(num) {
case 1:
insert();
break;
case 2:
quiz();
break;
case 3:
finish();
return;
}
}
}
private void quiz() {
while(true) {
int r = (int) (Math.random()*v.size());
String q = v.get(r).getNation();
String a = v.get(r).getCapital();
System.out.print(q+"의 수도는?");
String answer = sc.next();
if(answer.equals("그만")) break;
if(answer.equals(a)) System.out.println("정답!!");
else System.out.println("아닙니다!!");
}
}
private boolean contain(String nation) {
for(int i=0;i<v.size();i++) {
if(v.get(i).getNation().equals(nation)) {
return true;
}
}
return false;
}
private void insert() {
int order = v.size();
System.out.println("현재 "+order+"개 나라와 수도가 입력되어 있습니다.");
order++;
while(true) {
System.out.print("나라와 수도 입력"+order+">>");
String nation = sc.next();
if(nation.equals("그만")) break;
String capital = sc.next();
if(contain(nation)) {
System.out.println(nation + "는 이미 있습니다!");
continue;
}
v.add(new Nation(nation,capital));
order++;
}
}
private void finish() {
System.out.println("게임을 종료합니다.");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ex11_1 e = new ex11_1();
e.run();
}
}
결과
**** 수도 맞추기 게임을 시작합니다. ****
입력:1, 퀴즈:2, 종료:3>>1
현재 9개 나라와 수도가 입력되어 있습니다.
나라와 수도 입력10>>한국 서울
나라와 수도 입력11>>그리스 아테네
그리스는 이미 있습니다!
나라와 수도 입력11>>이탈리아 로마
나라와 수도 입력12>>그만
입력:1, 퀴즈:2, 종료:3>>2
이탈리아의 수도는?로마
정답!!
그리스의 수도는?하얼빈
아닙니다!!
영국의 수도는?런던
정답!!
일본의 수도는?도쿄`
아닙니다!!
미국의 수도는?그만
입력:1, 퀴즈:2, 종료:3>>3
게임을 종료합니다.
'명품JAVA프로그래밍 > 7장 제너릭과 컬렉션' 카테고리의 다른 글
[명품JAVA프로그래밍] 7장 실습문제 11-2번 (0) | 2022.02.19 |
---|---|
[명품JAVA프로그래밍] 7장 실습문제 9번 (0) | 2022.02.18 |
[명품JAVA프로그래밍] 7장 실습문제 8번 (0) | 2022.02.18 |
[명품JAVA프로그래밍] 7장 실습문제 7번 (0) | 2022.02.18 |
[명품JAVA프로그래밍] 7장 실습문제 6번 (0) | 2022.02.17 |