Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.io.*;
- import java.util.ArrayList;
- import java.util.Random;
- import java.util.Scanner;
- public class Main {
- public static String getRandomAnswers(){
- Random random = new Random();
- StringBuilder answers = new StringBuilder();
- do{
- int rand = random.nextInt(100);
- if (rand % 2 == 0) {
- answers.append("F");
- }
- else if (rand % 4 == 3) {
- answers.append(" ");
- }
- else {
- answers.append("T");
- }
- }while(answers.length() != 20);
- return answers.toString();
- }
- public static void main(String []args) throws IOException {
- int stdCounter = 1;
- StringBuilder longString = new StringBuilder();
- longString.append("TFFTFFTTTTFFTFTFTFTT\n");
- do {
- longString.append(String.format("STUDENT00%s %s\n", stdCounter, getRandomAnswers()));
- stdCounter++;
- }while (stdCounter <= 15);
- FileWriter wr = new FileWriter("students.txt");
- wr.write(longString.toString());
- wr.close();
- File studentAnswers = new File("students.txt");
- Scanner answerScanner = new Scanner(studentAnswers);
- char[] correctAnswer = {};
- while (answerScanner.hasNextLine()) {
- if (correctAnswer.length == 0) {
- correctAnswer = answerScanner.nextLine().toCharArray();
- }
- else {
- String[] data = answerScanner.nextLine().split(" ", 2);
- String studentId = data[0];
- String answers = data[1];
- double points = 0;
- char[] x = answers.toCharArray();
- for (int i = 0; i<x.length; i++) {
- char ans = x[i];
- if (ans == ' ') {
- points += 0f;
- }
- else if (ans == correctAnswer[i]) {
- points += 2f;
- }
- else if (ans != correctAnswer[i]){
- points -= 1f;
- }
- }
- double grade = (points / 40.0f) * 50.0f + 50.0f;
- char mark = 'F';
- if (grade >= 90 && grade <= 100)
- mark = 'A';
- else if (grade >= 80 && grade <= 89.99)
- mark = 'B';
- else if (grade >= 70 && grade <= 79.99)
- mark = 'C';
- else if (grade >= 60 && grade <= 69.99)
- mark = 'D';
- System.out.println(String.format("%s %s (%s %s", studentId, answers, mark, grade) + "%)");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement