결국 무엇이든 해내는 사람

(Java)Day09 - Getter Setter 를 이용한 퀴즈 만들기 본문

두서없는 공부 노트/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();
		
		
		
		
	}
}

 

실행부분 . 나는 메인부분이 짧은게 좋다 ..

반응형
Comments