Advertisement
Nickpips

Unlucky Cheaters

Mar 19th, 2016 (edited)
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.14 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileNotFoundException;
  3. import java.util.ArrayList;
  4. import java.util.Collections;
  5. import java.util.Scanner;
  6.  
  7. public class cheaters {
  8.  
  9.     static class Person implements Comparable<Person> {
  10.         public String name;
  11.         public double val;
  12.         public double grade;
  13.  
  14.         Person(String n, double v, double g) {
  15.             name = n;
  16.             val = v;
  17.             grade = g;
  18.         }
  19.  
  20.         @Override
  21.         public int compareTo(Person arg0) {
  22.             if (val < arg0.val)
  23.                 return 1;
  24.             else if (val > arg0.val)
  25.                 return -1;
  26.             else
  27.                 return 0;
  28.         }
  29.  
  30.         public String toString() {
  31.             return name + ": " + val + ", " + grade;
  32.         }
  33.     }
  34.  
  35.     public static void main(String[] args) throws FileNotFoundException {
  36.         Scanner s = new Scanner(new File("/studentdata.dat"));
  37.         String key1 = s.nextLine();
  38.         String key2 = s.nextLine();
  39.        
  40.         int max = 0;
  41.         ArrayList<Person> people = new ArrayList<Person>();
  42.         for (int i = 0; i < 10000; i++) {
  43.             char test = s.next().trim().charAt(0);
  44.             String name = s.next().trim() + " " + s.next().trim();
  45.             name = name.substring(0, name.length() - 1);
  46.  
  47.             double score = s.nextDouble();
  48.  
  49.             String answers = s.nextLine().trim();
  50.  
  51.             double num = 0;
  52.             double den = 0;
  53.  
  54.             for (int j = 0; j < 200; j++) {
  55.                 if (test == 'A') {
  56.                     if (answers.charAt(j) != key1.charAt(j)) {
  57.                         den++;
  58.                         if (answers.charAt(j) == key2.charAt(j)) {
  59.                             num++;
  60.                         }
  61.                     }
  62.                 }
  63.                 if (i % 2 == 1) {
  64.                     if (answers.charAt(j) != key2.charAt(j)) {
  65.                         den++;
  66.                         if (answers.charAt(j) == key1.charAt(j)) {
  67.                             num++;
  68.                         }
  69.                     }
  70.                 }
  71.             }
  72.  
  73.             people.add(new Person(name, num / den * 100.0, score));
  74.         }
  75.  
  76.         ArrayList<String> cheaters = new ArrayList<String>();
  77.  
  78.         for (int i = 0; i < 10000; i++) {
  79.             Person p = people.get(i);
  80.             if (p.val >= 60.0 && p.grade <= 75.0) // Experimental, mess around with these until cheaters.size() == 5
  81.                 cheaters.add(p.name.split(" ")[1]);
  82.         }
  83.  
  84.         Collections.sort(cheaters);
  85.  
  86.         String out = "";
  87.  
  88.         for (String c : cheaters)
  89.             out += c + ","; // This only runs 5 times, don't worry
  90.  
  91.         out = out.substring(0, out.length() - 1);
  92.  
  93.         System.out.println(out);
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement