Advertisement
Guest User

leaderboard.java

a guest
Mar 5th, 2019
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.65 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.List;
  4.  
  5. public class leaderboard {
  6.   static ArrayList<Object> scores = new ArrayList<>();
  7.   private String username, displayArray, password;
  8.   private int numCorrect, numAnswered, playerNum;
  9.   private double perc;
  10.  
  11.   public leaderboard() {
  12.     username = "";
  13.     numCorrect = 0;
  14.     numAnswered = 0;
  15.     //password = "";
  16.     perc = 0.0;
  17.   }
  18.  
  19.   public leaderboard(String user, int numC, int numA) {
  20.     username = user;
  21.     numCorrect = numC;
  22.     numAnswered = numA;
  23.     //password = pass;
  24.   }
  25.  
  26.   public static void addLeaderboard(String user, int numC, int numA) {
  27.     scores.add(user);
  28.     scores.add(numC);
  29.     scores.add(numA);
  30.   }
  31.  
  32.   public static void setLeaderboard(String user, int numC, int numA, int i){
  33.     scores.set((i*3),user);
  34.     scores.set((i*3)+1,numC);
  35.     scores.set((i*3)+2,numA);
  36.   }
  37.  
  38.   public static ArrayList<Object> getScores() {
  39.     return scores;
  40.   }
  41.  
  42.   public int returnNumUsers() {
  43.     return scores.size() / 4;
  44.   }
  45.  
  46.   public String displayUsername(int n) {
  47.     return scores.get(n * 3).toString();
  48.   }
  49.  
  50.   public int displayNumCor(int n) {
  51.     return (int) scores.get((n * 3) + 1);
  52.   }
  53.  
  54.   public int displayNumAns(int n) {
  55.     return (int) scores.get((n * 3) + 2);
  56.   }
  57.  
  58.   public int getScore(int n) {
  59.     int numCorrect = (int) scores.get((n * 4) + 1);
  60.     int numAnswered = (int) scores.get((n * 4) + 2);
  61.     perc = ((double) numCorrect / (double) numAnswered) * 100.0;
  62.     return (int) perc;
  63.   } //Score is percent
  64.  
  65.   public void viewLeaderboard() {
  66.     for (int i = 0; i < this.returnNumUsers(); i++) {
  67.       playerNum = i + 1;
  68.       System.out.println("Rank " + playerNum + ":\n\tUsername: " + this.displayUsername(i));
  69.       System.out.println("\tCorrect Answers: " + this.displayNumCor(i));
  70.       System.out.println("\tTotal Questions: " + this.displayNumAns(i));
  71.       System.out.println("\tScore:           " + this.getScore(i));
  72.       if (displayUsername(i) == null) {
  73.         break;
  74.       }
  75.     }
  76.   }
  77.  
  78.   public void sortBoard() {
  79.     List<Integer> sortScores = new ArrayList<>();
  80.     List<String> test = new ArrayList<>();
  81.     test.clear();
  82.     for (int k = 0; k < this.returnNumUsers(); k++) {
  83.       test.add(this.displayUsername(k));
  84.       test.add(Integer.toString(this.displayNumCor(k)));
  85.       test.add(Integer.toString(this.displayNumAns(k)));
  86.     }
  87.     for (int i = 0; i < this.returnNumUsers(); i++) {
  88.       sortScores.add(this.getScore(i));
  89.     }
  90.     Collections.sort(sortScores, Collections.reverseOrder());
  91.     scores.clear();
  92.     for (int x = 0; x < (test.size() / 3); x++) {
  93.       for (int k = 0; k < (test.size() / 3); k++) {
  94.         int perc = (int) (((Double.parseDouble(test.get((k * 4) + 1))) / (Double.parseDouble(test.get((k * 4) + 2)))) * 100);
  95.         if (sortScores.get(x) == perc) {
  96.           addLeaderboard((test.get(k * 3)), (Integer.parseInt(test.get((k * 3) + 1))), (Integer.parseInt(test.get((k * 3) + 2))));//
  97.         }
  98.       }
  99.     }
  100.   }
  101.  
  102.   public void searchUser(String username) {
  103.     for (int i = 0; i < returnNumUsers(); i++) {
  104.       if (username.equals(displayUsername(i))) {
  105.         playerNum = i + 1;
  106.         System.out.println("Rank " + playerNum + ":\n\tUsername: " + this.displayUsername(i));
  107.         System.out.println("\tCorrect Answers: " + this.displayNumCor(i));
  108.         System.out.println("\tTotal Questions: " + this.displayNumAns(i));
  109.         System.out.println("\tScore:           " + this.getScore(i));
  110.       } else {
  111.         System.out.println("There is noone with the username" + username + "Please enter a new username");
  112.         break;
  113.       }
  114.     }
  115.   }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement