import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionListener.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
import java.util.Calendar;
import java.awt.image.*;
import javax.imageio.*;
public class GQ extends JFrame implements ActionListener {
private static final int FRAME_WIDTH = 1024;
private static final int FRAME_HEIGHT = 768;
private static final int FRAME_X_ORIGIN = 0;
private static final int FRAME_Y_ORIGIN = 0;
private JLabel prompt;
private JPanel image;
private JLabel response;
private JMenu fileMenu;
private JMenu HelpMenu;
private JMenu OptionMenu;
AnswerStore answerStore = new AnswerStore();
boolean timeForMore;
public GQ() {
Container contentPane;
contentPane = getContentPane();
JButton button1, button2, button3, button4, button5;
setSize (FRAME_WIDTH, FRAME_HEIGHT);
setTitle("Quiz");
setLocation(FRAME_X_ORIGIN, FRAME_Y_ORIGIN);
button2 = new JButton("Rivers");
button4 = new JButton("Quit");
contentPane.add(button2);
contentPane.add(button4);
button2.addActionListener(this);
button2.setActionCommand("b2");
button4.addActionListener(this);
button4.setActionCommand("b4");
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main (String[] args) {
GQ frame = new GQ();
frame.setVisible(true);
new GQ();
GQ File = new GQ();
}
String ac = event.getActionCommand();
String[] questions = null;
String[] answers = null;
if(ac.equals("b2")) {
questions = readFile("rivers.txt");
answers = answerStore.riverAnswers;
} else if (ac.equals("b4")) {
System.exit(0);
}
askQuestions(questions, answers);
}
public void stopAndShowResults() {
timeForMore = false; // used for countdown.
}
private String[] readFile(String path) {
StringBuilder sb = new StringBuilder();
String separator = "\n";
String question1, question2, question3;
try{
File aFile = new File( "rivers.dat" );
// create an output stream to the file
FileInputStream aFileInStream = new FileInputStream ( aFile );
// create a data output stream to the file output stream
DataInputStream aDataInStream = new DataInputStream ( aFileInStream );
// read data from file
question1 = aDataInStream.readUTF();
question2 = aDataInStream.readUTF();
question3 = aDataInStream.readUTF();
aFileInStream.close();
JOptionPane.showInputDialog(null,question1);
JOptionPane.showInputDialog(null,question2);
JOptionPane.showInputDialog(null,question3);
}
catch( FileNotFoundException e )
{
System.out.println( e.getMessage() );
System.exit(1);
}
catch(IOException e)
{
System.out.println( e.getMessage() );
System.exit(1);
}
return sb.toString().split("\\n");
}
public void askQuestions(String[] questions, String[] answers) {
int count = 0;
int point = 0;
for(int j = 0; j < questions.length; j++) { // this loop isn't working
timeForMore = true;
Random generator = new Random();
int randomIndex = generator.nextInt(questions.length);
String input = JOptionPane.showInputDialog(null, questions[randomIndex]); // shows questions in a dialog box together with input line
if(answers[randomIndex].equalsIgnoreCase(input))
count++; // incrementing counter if entered answer is correct
point++;
if(!timeForMore)
break;
}
JOptionPane.showMessageDialog(null, "You answered " + count +
" out of " + questions.length +
" questions correctly.");
int percent = (count*100)/questions.length;
JOptionPane.showMessageDialog(null, "Your Geography Quiz score is " + percent + " % ");
class AnswerStore {
String[] riverAnswers = {
"Gorges", "Meanders", "Levees", "Yes", "Less Economic Developed Countries",
"crescent shaped lakes", "More Economic Developed Countries", "No", "River Discharge", "No", "",
"", ""
};
}
}