Hi i'm doing a quiz using java. I have wrote the questions in a textfile and i called them from Java. But now my problem is about the answers. i stored the answers in another class, and i used arrays to store the answers. Now what i'm having trouble with is, that when the user enters the answer i want to compare the answer with the correct answer so that if he/she answers correctly i would display correct else it would display incorrect. Can someone pls help, by showing me how to compare the answers. I tried using if condition but i diddn't know what conditions i had to compare. Thanks a lot for the help.
This is the code i have written:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import java.util.Scanner;
import java.util.Arrays;
public class GeographyQuiz extends JFrame implements ActionListener {
private static final int FRAME_WIDTH = 140;
private static final int FRAME_HEIGHT = 160;
private static final int FRAME_X_ORIGIN = 70;
private static final int FRAME_Y_ORIGIN = 50;
public static void main (String[] args) {
JFrame jFrame;
jFrame = new JFrame();
JOptionPane.showMessageDialog(jFrame, "This is a Geography Quiz");
JOptionPane.showMessageDialog(null, "Good Luck");
char choice;
int i, choice1, Password;
String yourChoice, passString;
passString = JOptionPane.showInputDialog("Enter the Password");
//Password = passString.nextInt();
Password = Integer.parseInt(passString);
if (Password == 123) {
JOptionPane.showMessageDialog(null, "Valid. You typed the right password. Now choose from the following menu");
GeographyQuiz frame = new GeographyQuiz();
frame.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "Invalid Password. Try Again");
}
}
public GeographyQuiz() {
Container contentPane;
JButton button1, button2, button3, button4, button5;
setSize (FRAME_WIDTH, FRAME_HEIGHT);
setTitle("Geography Quiz");
setLocation(FRAME_X_ORIGIN, FRAME_Y_ORIGIN);
contentPane = getContentPane();
contentPane.setBackground(Color.pink);
contentPane.setLayout(new FlowLayout());
button1 = new JButton("Plate Tectonics");
button2 = new JButton("Rivers");
button3 = new JButton("Rocks");
button4 = new JButton("Quit");
contentPane.add(button1);
contentPane.add(button2);
contentPane.add(button3);
contentPane.add(button4);
button1.addActionListener(this);
button1.setActionCommand("b1");
button2.addActionListener(this);
button2.setActionCommand("b2");
button3.addActionListener(this);
button3.setActionCommand("b3");
button4.addActionListener(this);
button4.setActionCommand("b4");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if ("b1".equals(e.getActionCommand())) {
Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader("plate_tectonics.txt")));
while (s.hasNext()) {
s.useDelimiter(",\\s*");
JOptionPane.showInputDialog(null,s.nextLine());
JOptionPane.showMessageDialog(null, "Correct");
}
} catch (java.io.FileNotFoundException f) {
JOptionPane.showMessageDialog(null, "File not found.");
} finally {
if (s != null)
s.close();
}
} else if("b2".equals(e.getActionCommand())) {
Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader("rivers.txt")));
while (s.hasNext()) {
s.useDelimiter(",\\s*");
JOptionPane.showInputDialog(null,s.nextLine());
}
} catch (java.io.FileNotFoundException f) {
JOptionPane.showMessageDialog(null, "File not found.");
} finally {
if (s != null)
s.close();
}
} else if("b3".equals(e.getActionCommand())) {
Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader("rocks.txt")));
while (s.hasNext()) {
s.useDelimiter(",\\s*");
JOptionPane.showInputDialog(null,s.nextLine());
}
} catch (java.io.FileNotFoundException f) {
JOptionPane.showMessageDialog(null, "File not found.");
} finally {
if (s != null)
s.close();
}
} else if ("b4".equals(e.getActionCommand())) {
System.exit(0);
}
}
}
And this is the other class which stores the anwers to the questions in an array:
import java.util.*;
public class Answer {
public static void main (String[] args) {
String[] answer = new String[10];
answer[0] = "Hellenic";
answer[1] = "constructive";
answer[2] = "100km";
answer[3] = "Italy";
answer[4] = "Wegner";
answer[5] = "constructive";
answer[6] = "100km";
answer[7] = "Italy";
answer[8] = "destroyed";
}
}