Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.io.*;
- import javax.swing.JOptionPane;
- import java.text.*;
- public class login {
- public static void main (String [] args) throws IOException {
- String usernameEntered="";
- String passwordEntered="";
- ArrayList<String> user = new ArrayList<String>();
- ArrayList<String> pass = new ArrayList<String>();
- ArrayList<String> first = new ArrayList<String>();
- ArrayList<String> last = new ArrayList<String>();
- ArrayList<String> userAnswers = new ArrayList<String>();
- ArrayList<String> checkedQuestions = new ArrayList<String>();
- ArrayList<String> corrAnswers = new ArrayList<String>();
- File file = new File("UsersInfo.txt");
- Scanner inputFile = new Scanner(file);
- String fName="";
- String lName="";
- int generalPos=0;
- File quest = new File("TestBank.txt");
- File answ = new File("AnswBank.txt");
- Scanner inputFile2 = new Scanner(quest);
- Scanner inputFile3 = new Scanner(answ);
- Scanner keyboard = new Scanner(System.in);
- ArrayList<String> questions = new ArrayList<String>();
- ArrayList<String> answers = new ArrayList<String>();
- double dateTime;
- DateFormat time = new SimpleDateFormat("_HH_mm_ss_");
- Date todaysTime = new Date();
- int tries = 4;
- boolean usernameFlag = false;
- boolean passwordFlag = false;
- while (inputFile.hasNext())
- {
- String str = inputFile.nextLine();
- String usernameList = str.split("\t")[0];
- String passwordList = str.split("\t") [1];
- String firstName = str.split("\t") [2];
- String lastName = str.split("\t") [3];
- user.add(usernameList);
- pass.add(passwordList);
- first.add(firstName);
- last.add(lastName);
- }
- while(tries >= 1){
- {
- usernameEntered = JOptionPane.showInputDialog("Enter your username");
- passwordEntered = JOptionPane.showInputDialog("Enter your password");
- generalPos = user.indexOf(usernameEntered);
- if(generalPos >= 0 && (passwordEntered.equals(pass.get(generalPos))))
- { JOptionPane.showMessageDialog(null, "Starting Quiz...");
- tries = -1;
- }
- else
- {
- JOptionPane.showMessageDialog(null, "Error, you have " + (tries - 1) + " tries left.");
- tries--;
- continue;
- }
- }
- if( tries == 0)
- System.exit(0);
- }
- fName=first.get(generalPos);
- lName=last.get(generalPos);
- JOptionPane.showMessageDialog(null, "Welcome " + fName + " " + lName + "!");
- while(inputFile2.hasNextLine())
- questions.add(inputFile2.nextLine());
- while(inputFile3.hasNextLine())
- answers.add(inputFile3.nextLine());
- Random rand = new Random();
- String userAnswer;
- int counter=0;
- double begin=System.currentTimeMillis();
- dateTime=begin/1000;
- for(int i=0; i<10; i++){
- int x = rand.nextInt(questions.size());
- corrAnswers.add(i, answers.get(x));
- checkedQuestions.add(i, questions.get(x));
- userAnswer=JOptionPane.showInputDialog(questions.get(x) + " Enter your answer. (True or False)");
- if((userAnswer.equals("t"))||(userAnswer.equals("T")))
- userAnswer="true";
- if((userAnswer.equals("f"))||(userAnswer.equals("F")))
- userAnswer="false";
- userAnswer=userAnswer.toUpperCase();
- if(((userAnswer.equals("TRUE"))||(userAnswer.equals("FALSE"))))
- {
- userAnswers.add(counter, userAnswer);
- if(userAnswer.toUpperCase().equals(answers.get(x).toUpperCase())){
- JOptionPane.showMessageDialog(null,"Correct!");
- counter++;}
- else
- JOptionPane.showMessageDialog(null,"Incorrect!");
- }
- else{
- JOptionPane.showMessageDialog(null,"Please enter a valid answer.");
- JOptionPane.showMessageDialog(null,questions.get(x));
- userAnswer=JOptionPane.showInputDialog("Enter your answer. (True or False)");
- if((userAnswer.equals("t"))||(userAnswer.equals("T")))
- userAnswer="true";
- if((userAnswer.equals("f"))||(userAnswer.equals("F")))
- userAnswer="false";
- userAnswers.add(counter, userAnswer);
- userAnswer=userAnswer.toUpperCase();
- if(userAnswer.toUpperCase().equals(answers.get(x).toUpperCase())){
- JOptionPane.showMessageDialog(null,"Correct!");
- counter++;}
- else
- JOptionPane.showMessageDialog(null,"Incorrect!");
- }
- }
- double end=System.currentTimeMillis()-begin;
- end=end/1000.0;
- DateFormat date = new SimpleDateFormat("_MM_dd_yy_");
- Date todaysDate = new Date();
- JOptionPane.showMessageDialog(null,"Name: " + fName + "" + lName + "\nIt took you " + String.format("%.0f",end) + " seconds to complete the test.\nScore: " + counter + " out of 10 correct.");
- JOptionPane.showMessageDialog(null," Question" + " " + "Your Answer" + " " +"Correct Answer"+"\n"+
- checkedQuestions.get(0)+" "+ userAnswers.get(0)+" | "+corrAnswers.get(0)+"\n"+
- checkedQuestions.get(1)+" "+ userAnswers.get(1)+" | "+corrAnswers.get(1)+"\n"+
- checkedQuestions.get(2)+" "+ userAnswers.get(2)+" | "+corrAnswers.get(2)+"\n"+
- checkedQuestions.get(3)+" "+ userAnswers.get(3)+" | "+corrAnswers.get(3)+"\n"+
- checkedQuestions.get(4)+" "+ userAnswers.get(4)+" | "+corrAnswers.get(4)+"\n"+
- checkedQuestions.get(5)+" "+ userAnswers.get(5)+" | "+corrAnswers.get(5)+"\n"+
- checkedQuestions.get(6)+" "+ userAnswers.get(6)+" | "+corrAnswers.get(6)+"\n"+
- checkedQuestions.get(7)+" "+ userAnswers.get(7)+" | "+corrAnswers.get(7)+"\n"+
- checkedQuestions.get(8)+" "+ userAnswers.get(8)+" | "+corrAnswers.get(8)+"\n"+
- checkedQuestions.get(9)+" "+ userAnswers.get(9)+" | "+corrAnswers.get(9));
- File file2 = new File(usernameEntered+"_COSC_236_Quiz_"+date.format(todaysDate)+"_"+time.format(todaysTime)+".txt");
- FileWriter outputFile = new FileWriter(file2);
- outputFile.write("Name: " + fName + "" + lName + "\nIt took you " + String.format("%.0f",end) + " seconds to complete the test.\nScore: " + counter + " out of 10 correct.");
- outputFile.write(" Question" + " " + "Your Answer" + " " +"Correct Answer"+"\n"+
- checkedQuestions.get(0)+" "+ userAnswers.get(0)+" | "+corrAnswers.get(0)+"\n"+
- checkedQuestions.get(1)+" "+ userAnswers.get(1)+" | "+corrAnswers.get(1)+"\n"+
- checkedQuestions.get(2)+" "+ userAnswers.get(2)+" | "+corrAnswers.get(2)+"\n"+
- checkedQuestions.get(3)+" "+ userAnswers.get(3)+" | "+corrAnswers.get(3)+"\n"+
- checkedQuestions.get(4)+" "+ userAnswers.get(4)+" | "+corrAnswers.get(4)+"\n"+
- checkedQuestions.get(5)+" "+ userAnswers.get(5)+" | "+corrAnswers.get(5)+"\n"+
- checkedQuestions.get(6)+" "+ userAnswers.get(6)+" | "+corrAnswers.get(6)+"\n"+
- checkedQuestions.get(7)+" "+ userAnswers.get(7)+" | "+corrAnswers.get(7)+"\n"+
- checkedQuestions.get(8)+" "+ userAnswers.get(8)+" | "+corrAnswers.get(8)+"\n"+
- checkedQuestions.get(9)+" "+ userAnswers.get(9)+" | "+corrAnswers.get(9));
- outputFile.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement