Exam Question Questions for the exam Answers chosen Create e
Solution
Question.java
import java.util.Iterator;
import java.util.List;
public class Question {
private String question;
private List<String> answers;
private int correct;
public Question(String que, List<String> ansrs) {
this.question = que;
this.answers = ansrs;
}
public boolean check(int answer){
if(answer == correct){
return true;
}
return false;
}
@Override
public String toString(){
String output = question+\"\ \";
Iterator ite = answers.iterator();
output += \"Options: \ \";
while(ite.hasNext()){
output += ite.next()+\"\ \";
}
return output;
}
public void setCorrect(int correct){
this.correct = correct;
}
}
TestQuestion.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class TestQuestion {
public TestQuestion() {
}
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print(\"How many questions you want to set:\");
int totQuestions = Integer.parseInt(br.readLine());
ArrayList<Question> questions = new ArrayList<Question>(totQuestions);
Question ques;
List ansrs;
for(int i=0;i<totQuestions;i++){
System.out.print(\"Please enter the question:\");
String question = br.readLine();
System.out.println(\"Please enter the options seperated by space(\' \'):\");
ansrs = new ArrayList();
String[] answers = br.readLine().split(\" \");
for(int j=0;j<answers.length;j++){
ansrs.add(answers[j]);
}
ques = new Question(question, ansrs);
System.out.print(\"Please enter the index of correct answer:\");
ques.setCorrect(Integer.parseInt(br.readLine()));
questions.add(ques);
}
System.out.println(\"*******All questions are set. Please enter Yes to begin the test:******\");
String response = br.readLine();
int marks = 0;
if(response.equalsIgnoreCase(\"yes\")||response.equalsIgnoreCase(\"y\")){
Iterator ite = questions.iterator();
Question que;
while(ite.hasNext()){
que = (Question) ite.next();
System.out.println(que.toString());
System.out.print(\"Please enter the answer:\");
if(que.check(Integer.parseInt(br.readLine()))){
marks++;
System.out.println(\"Correct!!\ \");
}
else{
System.out.println(\"Wrong answer!!\ \");
}
}
}
else{
System.out.println(\"Thank You!\");
}
}
}
Output:
How many questions you want to set:3
Please enter the question:how players in cricket?
Please enter the options seperated by space(\' \'):
10 11 12 13
Please enter the index of correct answer:2
Please enter the question:how many player in vollyball?
Please enter the options seperated by space(\' \'):
7 10 9 11
Please enter the index of correct answer:3
Please enter the question:Who is President of America?
Please enter the options seperated by space(\' \'):
Obama Trump Bush None
Please enter the index of correct answer:2
*******All questions are set. Please enter Yes to begin the test:******
y
how players in cricket?
Options:
10
11
12
13
Please enter the answer:2
Correct!!
how many player in vollyball?
Options:
7
10
9
11
Please enter the answer:4
Wrong answer!!
Who is President of America?
Options:
Obama
Trump
Bush
None
Please enter the answer:2
Correct!!
Your Total Marks: 2


