5 回答

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
用 Collections.sort(list, comparator)
進(jìn)行排序
在覆寫的sort
方法中,先判斷分?jǐn)?shù)是否相同,如果相同則使用 for
循環(huán)遍歷兩個(gè)人名的每個(gè)位置上的字符直到某個(gè)位置上的字符有大小關(guān)系;如果不相同則直接返回成績(jī)的大小關(guān)系。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
非常感謝回復(fù)!
現(xiàn)在我已經(jīng)把結(jié)果列表按成績(jī)高低和名字字母順序排列好了,結(jié)果列表現(xiàn)在是resultList:
7.00 Ada Wang
7.00 Alan Jiang
7.00 Donald Li
6.00 Joan Chen
6.00 William Sf
4.00 Tricia Zhang
下面開始往結(jié)果前面加名次
int[] rank=new int[resultList.size()] ;
rank[0]=1;
for(int i=1; i<resultList.size();i++)
{if(resultList.get(i).getResultValue()==resultList.get(i-1).getResultValue())
{rank[i]=rank[i-1];}
else
{rank[i]=i+1;}
}
for(int i=0; i<resultList.size();i++) {
System.out.println(rank[i]+" "+resultList.get(i).getResultValue()+" "+resultList.get(i).getParticipant().getName()+" "+resultList.get(i).getParticipant().getTeam());
}
打印結(jié)果居然是:
1 7.00 Ada Wang
2 7.00 Alan Jiang
3 7.00 Donald Li
4 6.00 Joan Chen
5 6.00 William Sf
6 4.00 Tricia Zhang
很奇怪。當(dāng)兩項(xiàng)結(jié)果值相同時(shí),怎么沒有執(zhí)行if結(jié)果把rank變?yōu)橄嗤?
添加回答
舉報(bào)