import java.awt.List; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class HighScore { ArrayList<String> arylist = new ArrayList<String>(); ArrayList<String> user = new ArrayList<String>(); ArrayList<String> score = new ArrayList<String>(); ArrayList<Integer> scoreInt = new ArrayList<Integer>(); int x; public String[] readFrom() throws IOException { String fileName = "highScore.txt"; String content = null; File file = new File(fileName); FileReader reader = null; try { reader = new FileReader(file); char[] chars = new char[(int) file.length()]; reader.read(chars); content = new String(chars); reader.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { reader.close(); } } String[] words = content.split("\\s+"); // for (int i = 0; i < words.length; i++) { // System.out.println(words[i]); // } return words; } public void writeTo() { try { String filename = "highScore.txt"; FileWriter fw = new FileWriter(filename, true); PrintWriter pw = new PrintWriter(filename); pw.print(" "); for(int i =0; i < user.size();i++){ fw.write(user.get(i)+ " " + scoreInt.get(i) + "\n"); } // fw.write(a + "\n"); fw.close(); } catch (IOException ioe) { System.err.println("IOException: " + ioe.getMessage()); } } public void creatingArrays() throws IOException { String[] newArr = readFrom(); for (int i = 0; i < newArr.length; i++) { if (i % 2 == 0) { user.add(newArr[i]); } if (i % 2 == 1) { score.add(newArr[i]); } } // for(int i = 0; i < user.size(); i++){ // System.out.println(user.get(i)); // // } // // for(int i = 0; i < score.size(); i++){ // System.out.println(score.get(i)); // // } for (int i = 0; i < score.size(); i++) { scoreInt.add(Integer.parseInt(score.get(i))); } // for (int i = 0; i < score.size(); i++) { // System.out.println(scoreInt.get(i)); // // } } public int returnLowest() { this.x = scoreInt.get(scoreInt.size()); return scoreInt.get(scoreInt.size()); } public boolean isHigh(int compare) { if (compare > x) { return true; } else { return false; } } public void sortInt() { for (int i = 0; i < scoreInt.size(); i++) { for (int j = 0; j < scoreInt.size() - 1; j++) { if (scoreInt.get(j) < scoreInt.get(j + 1)) { int temp = 0; String tempS = ""; temp = scoreInt.get(j); tempS = user.get(j); scoreInt.set(j, scoreInt.get(j + 1)); user.set(j, user.get(j + 1)); scoreInt.set(j + 1, temp); user.set(j + 1, tempS); } } } for (int i = 0; i < scoreInt.size(); i++) { System.out.println(user.get(i) + " " + scoreInt.get(i)); } } public HighScore(String nameUser, int nameScore) throws IOException { readFrom(); creatingArrays(); sortInt(); String name = nameUser; int nameScored = nameScore; if(isHigh(nameScored)){ user.add(name); scoreInt.add(nameScored); sortInt(); user.remove(user.size()-1); scoreInt.remove(scoreInt.size()-1); writeTo(); } } }