需要幫助,我的代碼這部分.. ..我正在寫一個hang子手遊戲的代碼..後有人贏了,我計算他們的分數..我根據他們的分數排序並打印它..但我不想用不同的分數表示同名。我的意思是如果同一個人再次出場並獲勝,並且如果該人的得分高於以前,我不想添加任何新名字並替換該人的得分。 我使用ArrayList保存名稱和分數..任何人獲勝後,我添加名稱,然後將分數添加到ArrayList ..但是當我想替換相同名稱的分數時,我似乎有一個問題.. 而且我知道我的代碼有點笨這種方式..只是想知道問題..刪除具有不同分數的相同名稱?並用封裝重做整個事情?
// here I add the name and the score to the end of my rankings ArrayList..
rankings.add(name);
rankings.add(finalScore);
if (rankings.size() > 2) {
for (int i = 0; i < rankings.size() - 2; i++) {
if (rankings.get(i).equals(rankings.get(rankings.size() - 2))) {
if (rankings.get(i + 1).compareTo(rankings.get(rankings.size() - 1)) == -1) {
rankings.set(i + 1, rankings.get(rankings.size() - 1));
rankings.remove(rankings.size() - 1);
rankings.remove(rankings.size() - 2);
break;
}
}
}
}
也..你可以幫我重做整個事情的另一種方式..我的意思,而不是分別添加名稱和分數,每次分開..我想做一個ArrayList的對象,每個對象包含名稱和分數。 。好歹我可以檢查重複的名稱..然後對其進行排序..謝謝你..和亂碼抱歉..