Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.jetbrains.annotations.Contract;
- import java.util.*;
- public class leaderboard {
- static List<Object> scores = new ArrayList<>();
- private String username, displayArray, password;
- private int numCorrect, numAnswered,playerNum;
- private double perc;
- public leaderboard() {
- username = "";
- numCorrect = 0;
- numAnswered = 0;
- password = "";
- perc = 0.0;
- }
- public leaderboard(String user, int numC, int numA) {
- username = user;
- numCorrect = numC;
- numAnswered = numA;
- }
- public static void addLeaderboard(String user, int numC, int numA) {
- scores.add(user);
- scores.add(numC);
- scores.add(numA);
- }
- public int returnNumUsers() {
- return scores.size() / 3;
- }
- public String displayUsername(int n) {
- return scores.get(n * 3).toString();
- }
- public int displayNumCor(int n) {
- return (int) scores.get((n * 3) + 1);
- }
- public int displayNumAns(int n) {
- return (int) scores.get((n * 3) + 2);
- }
- public void wipeArray() {
- scores.clear();
- }
- public int getScore(int n) {
- int test = (int) scores.get((n * 3) + 1);
- int test2 = (int) scores.get((n * 3) + 2);
- perc = ((double) test / (double) test2) * 100.0;
- return (int) perc;
- } // Score is percent
- public void viewLeaderboard(){
- for(int i = 0; i <(scores.size()/3); i++){
- playerNum = i + 1;
- System.out.println("Rank " + playerNum + ":\n\tUsername: " + this.displayUsername(i));
- System.out.println("\tCorrect Answers: " + this.displayNumCor(i));
- System.out.println("\tTotal Questions: " + this.displayNumAns(i));
- System.out.println("\tScore: "+ this.getScore(i));
- }
- }
- public static List<Object> getScores() {
- return scores;
- }
- public void sortBoard(){
- List<Integer> sortScores = new ArrayList<>();
- List<String> test = new ArrayList<>();
- test.clear();
- for (int k = 0; k < this.returnNumUsers(); k++) {
- test.add(this.displayUsername(k));
- test.add(Integer.toString(this.displayNumCor(k)));
- test.add(Integer.toString(this.displayNumAns(k)));
- }
- for (int i = 0; i < this.returnNumUsers(); i++) {
- sortScores.add(this.getScore(i));
- }
- Collections.sort(sortScores, Collections.reverseOrder());
- this.wipeArray();
- for (int x = 0; x < (test.size()/3); x++) {
- for(int k = 0; k < (test.size()/3); k++){
- int perc = (int)(((Double.parseDouble(test.get((k * 3) + 1))) / (Double.parseDouble(test.get((k * 3) + 2))))*100);
- if (sortScores.get(x) == perc) {
- this.addLeaderboard((test.get(k * 3)), (Integer.parseInt(test.get((k * 3) + 1))), (Integer.parseInt(test.get((k * 3) + 2))));
- }
- }
- }
- }
- public String searchUser(String user) {
- return user;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement