package com.crossge.cceconomy; import java.util.ArrayList; import java.util.Collections; public class BalChecks { Formatter form = new Formatter(); ArrayLists arl = new ArrayLists(); private static ArrayList<String> balances = new ArrayList<String>(); public BalChecks() { } public void updateB() { form.readFile(arl.getBalFile(), balances); Collections.sort(balances); } public String bal(String name) { for(int i = 0; i < balances.size(); i++) { if(balances.get(i).startsWith(name)) return balances.get(i).split(" ")[1]; } return null; } public String balTop(int page, int time) { ArrayList<Double> balsort = new ArrayList<Double>(); for(int i = 0; i < balances.size(); i++) { balsort.add(Double.parseDouble(balances.get(i).split(" ")[1])); } Collections.sort(balsort); Collections.reverse(balsort); page = page * 10; if (balances.size() < time + page + 1) return null; if (time == 10) return null; int occurrence = 1; for (int i = 0; i < page+time; i++) { if(balsort.get(i).equals(balsort.get(page + time))) occurrence++; } String strBal = form.roundTwoDecimals(balsort.get(page+time)); int balSpot = baltopCords(strBal, occurrence); if (balSpot == -1) return null; return balances.get(balSpot); } private int baltopCords(String money, int occurrence) { int counter = 1; for(int i = 0; i < balances.size(); i++) { if(balances.get(i).contains(" " + money)) { if(counter == occurrence) return i; counter++; } } return -1; } public int baltopPages() { int rounder = 0; if (balances.size()%10 != 0) rounder = 1; return (balances.size()/10) + rounder; } public String players() { return Integer.toString(balances.size()); } public boolean doesPlayerExist(String name) { for(int i = 0; i < balances.size(); i++) { if(balances.get(i).startsWith(name)) return true; } return false; } public void addPlayerToList(String name) { balances.add(name + " 0.00"); Collections.sort(balances); form.writeFile(arl.getBalFile(), balances); } public void setMoney(String name, String amount) { int spotinlist = balances.indexOf(name + " " + bal(name)); String newbal; newbal = name + " " + amount; balances.set(spotinlist, newbal); form.writeFile(arl.getBalFile(), balances); } public void removeMoney(String name, double amount) { String bal = bal(name); double intbal = Double.parseDouble(bal); double newamount = intbal - amount; setMoney(name, form.roundTwoDecimals(newamount)); } public void addMoney(String name, double amount) { String bal = bal(name); double intbal = Double.parseDouble(bal); double newamount = intbal + amount; setMoney(name, form.roundTwoDecimals(newamount)); } }