본문 바로가기

카테고리 없음

단어 맞추기 퀴즈

package openChallenge; import java.util.HashSet; import java.util.Hashtable; import java.util.Map; import java.util.Map.Entry; import java.util.Random; import java.util.Scanner; import java.util.Set; import java.util.Vector; class Word extends Hashtable { public Word(K key, V value) { super.put(key, value); } } public class WordQuiz { Vector v = new Vector<>(); { v.add(new Word("love", "사랑")); v.add(new Word("animal", "동물")); v.add(new Word("bear", "곰")); v.add(new Word("picture", "사진")); v.add(new Word("cociety", "사회")); v.add(new Word("human", "인간")); v.add(new Word("mankind", "인류")); v.add(new Word("painting", "그림")); } Scanner scan = new Scanner(System.in); Random rand = new Random(); public WordQuiz() { System.out.println("\"명품영어\"의 단어 테스트를 시작합니다. -1을 입력하면 종료합니다."); System.out.println("현재 "+v.size()+"개의 단어가 들어 있습니다."); int no = 0; quiz: while(no != -1) { // 단어 제시 int idx = rand.nextInt(v.size()); Word word = v.get(idx); String eng = (String)(word.keys()).nextElement(); // 랜덤한 위치에 있는 word에서 key확보 // 문제 보여주기 System.out.println(eng); // 지문을 set에 저장 Set values = new HashSet<>(); String kor = (String)word.get(eng); // 답 values.add( kor ); // values.size() == 1 // 지문 선정 while(values.size() < 4) { idx = rand.nextInt(v.size()); // 새 랜덤 값 word = v.get(idx); // 새 객체 (word) eng = (String)(word.keys()).nextElement(); // 단어 values.add((String)word.get(eng) ); // 뜻을 set에 추가 } String[] arr = new String[values.size()]; values.toArray(arr); // 지문 출력 for(int i=0; i"); no = scan.nextInt(); if(no == -1) break quiz; }while(no<1 || no>arr.length+1); // 1 ~ 4 사이만 들어온다. // 비교 if(arr[no-1].equals(kor)) { System.out.println("EXCELLEXT"); } else { System.out.println("NO.........."); } } System.out.println("\"명품영어\"를 종료합니다..."); } public static void main(String[] args) { new WordQuiz(); } }