Player player_main[] = new Player[player];
for(int i = 0; i < player; i++){
player_main[i] = new Player("プレイヤー"+(i+1));
}
プレイヤーのインスタンスをプレイヤー人数分作って配列にしています。
playerはプレイヤー数の4
4人でじゃんけんをして結果が以下のようになったとします。
プレイヤー1・・1位0回、2位0回、3位0回、4位2回
プレイヤー2・・1位1回、2位0回、3位1回、4位0回
プレイヤー3・・1位0回、2位2回、3位0回、4位0回
プレイヤー4・・1位1回、2位0回、3位1回、4位0回
これをComparatorを使って順位順に並び替えてplayer_main[]配列が
プレイヤー2、プレイヤー4、プレイヤー3、プレイヤー1
の順番にするところまでできています。
これを
1位 プレイヤー2 プレイヤー4
3位 プレイヤー3
4位 プレイヤー1
という結果を得るにはどうすればいいのでしょうか?
compareメソッドの結果が0なら同じ順位になるのでそれを使ったらいいみたいなのですが・・
for(int i = 0; i < player - 1; i++){
if(compare(player_main[i], player_main[i + 1]) == 0){
}
else if(ref.compare(player_main[i], player_main[i + 1]) != 0){
}
player_main[0]と player_main[1]を比較して
0ならばplayer_main[0]と player_main[1]は同じ1位
0以外ならplayer_main[0]は1位、player_main[1]は2位
といのはわかるのですが1位が3人で4位が1人というような違う結果になった場合にも対応できるようなif文とelse if文の中身にしたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/21 04:55 編集
2015/08/21 07:22