大家好,我有一個分數文本檔案,我想對數字進行排序,而不是對檔案中的文本進行排序,但我的代碼只是對文本進行排序。請幫我解決這個問題。
這是我在 a.txt 中的分數檔案:
Cow:50
Bob:60
Van:70
這是我的代碼:
public class highscore {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader("src/a.txt"));
ArrayList<String> str = new ArrayList<>();
String line = "";
while((line=reader.readLine())!=null){
str.add(line);
}
reader.close();
Collections.sort(str);
FileWriter writer = new FileWriter("b.txt");
for(String s: str){
writer.write(s);
writer.write("\r\n");
}
writer.close();
}
}
uj5u.com熱心網友回復:
對文本中的數字進行排序,這意味著您需要提取數字:
// descending
str.sort((o1, o2) -> Integer.compare(
Integer.parseInt(o2.substring(o2.indexOf(":") 1)),
Integer.parseInt(o1.substring(o1.indexOf(":") 1))));
// or ascending
str.sort(Comparator.comparingInt(o -> Integer.parseInt(o.substring(o.indexOf(":") 1))));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/363645.html
