두서없는 공부 노트/JAVA
(Java)Day09 - Getter Setter 를 이용한 퀴즈 만들기
kkm8257
2020. 8. 18. 15:54
반응형
package getset_Quiz;
public class Quiz_Sample {
private String problem;
private String example_1;
private String example_2;
private String example_3;
private String example_4;
private String ans;
public Quiz_Sample(String pro, String e1, String e2, String e3, String e4, String ans) {
this.problem=pro;
this.example_1=e1;
this.example_2=e2;
this.example_3=e3;
this.example_4=e4;
this.ans=ans;
}
public String getProblem() {
return problem;
}
public void setProblem(String problem) {
this.problem = problem;
}
public String getExample_1() {
return example_1;
}
public void setExample_1(String example_1) {
this.example_1 = example_1;
}
public String getExample_2() {
return example_2;
}
public void setExample_2(String example_2) {
this.example_2 = example_2;
}
public String getExample_3() {
return example_3;
}
public void setExample_3(String example_3) {
this.example_3 = example_3;
}
public String getExample_4() {
return example_4;
}
public void setExample_4(String example_4) {
this.example_4 = example_4;
}
public String getAns() {
return ans;
}
public void setAns(String ans) {
this.ans = ans;
}
}
위 코드는 퀴즈 샘플!
모든 변수를 private 선언하여 , getter 와 setter로만 접근을 가능케함
생성자를 통해 private 변수에 초기값을 넣어준다.
package getset_Quiz;
import java.util.ArrayList;
import java.util.Scanner;
public class Quiz_Pack {
ArrayList<Quiz_Sample> deck;
int count;
Scanner sc= new Scanner(System.in);
String input;
/////////////
public Quiz_Pack() {
deck = new ArrayList<>();
}
//////////////
public void makeQuiz() {
deck.add(new Quiz_Sample("1 + 1 = ?","2","3","4","5","2"));
deck.add(new Quiz_Sample("이젠학원의 위치는?","강남","신도림","수원","인천","강남"));
deck.add(new Quiz_Sample("사자 = ?","turtle","lion","tiger","computer","lion"));
deck.add(new Quiz_Sample("지금 ??? 때문에 개고생하고있다","요로나","오로나민씨","코로나","이루마","코로나"));
}
public void showQuiz() {
this.count= 1;
for(int i =0; i<deck.size();i++) {
System.out.println((i+1) + "번 문제 : "+deck.get(i).getProblem());
System.out.print("("+count+") "+deck.get(i).getExample_1()+" ("+(count+1)+") "+deck.get(i).getExample_2()+" ("+(count+2)+") "+deck.get(i).getExample_3()+" ("+(count+3)+") "+deck.get(i).getExample_4());
System.out.print("\n입력 >>>");
input=sc.nextLine();
System.out.println();
if(input.equals(deck.get(i).getAns())) {
System.out.println("정답입니다.");
}
else {
System.out.println("\n");
}
}
}
}
makeQuiz 부분은 실제로 퀴즈클래스를 가지고와서 생성자를 이용한 퀴즈 생성 후 바로 deck이라는 ArrayList에 바로 삽입
showQuiz부분은 이 deck을 하나씩 출력하는 부분( 퀴즈 보여주고 맞추기 )
package getset_Quiz;
public class Main {
public static void main(String[] args) {
Quiz_Pack qp= new Quiz_Pack();
qp.makeQuiz();
qp.showQuiz();
}
}
실행부분 . 나는 메인부분이 짧은게 좋다 ..
반응형