mojo's Blog
명품 JAVA Programming 제 7장 Open Challenge 본문
영어 단어 테스트 프로그램 만들기
import java.util.*;
class Word{
private String eng,han;
Word(String eng, String han){
this.eng=eng;
this.han=han;
}
String getEng() {
return this.eng;
}
String getHan() {
return this.han;
}
}
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
System.out.println("\"명품영어\"의 단어 테스트를 시작합니다. -1을 입력하면 종료합니다.");
Vector<Word> v=new Vector<Word>();
v.add(new Word("painting","그림"));
v.add(new Word("apple","사과"));
v.add(new Word("banana","바나나"));
v.add(new Word("C++","씨쁠쁠"));
v.add(new Word("Java","자바"));
v.add(new Word("Python","파이썬"));
int size=v.size();
System.out.println("현재 "+size+"개의 단어가 들어 있습니다.");
while(true) {
int r=(int)(Math.random()*size);
String question=v.get(r).getEng(), answer=v.get(r).getHan();
System.out.println(question+"?");
boolean visited[]=new boolean[size];
String ansArr[]=new String[4];
int randAns=(int)(Math.random()*4);
visited[r]=true;
ansArr[randAns]=answer;
for(int i=0;i<4;i++) {
if(i==randAns) continue;
int no_RandAns=(int)(Math.random()*size);
if(visited[no_RandAns]) {
i--;
}
else {
String noAns=v.get(no_RandAns).getHan();
visited[no_RandAns]=true;
ansArr[i]=noAns;
}
}
for(int i=0;i<4;i++) {
System.out.print("("+(i+1)+")"+ansArr[i]+" ");
}
System.out.print(" :> ");
int userAns=scanner.nextInt();
if(userAns==-1) {
System.out.println("\"명품영어\"를 종료합니다.");
break;
}
else {
if(answer.equals(ansArr[userAns-1])){
System.out.println("Excellent !!");
}
else {
System.out.println("No. !!");
}
}
}
scanner.close();
}
}
'Java' 카테고리의 다른 글
키보드 입력을 파일로 저장하기 (0) | 2021.07.22 |
---|---|
명품 JAVA Programming 제 7장 실습문제 8번 (0) | 2021.07.22 |
Generic class, method (0) | 2021.07.20 |
vector와 HashMap, Collections 클래스의 활용 (0) | 2021.07.20 |
명품 JAVA Programming 제 6장 Open Challenge (0) | 2021.07.20 |
Comments