그래서 현재 여러 옵션 부분을 가진 대학을위한 연습을하고 있습니다 (아직 클래스에서이 작업을 수행하지 않았기 때문에 배열 대신 목록을 사용하고 있습니다) 그래서 가변 크기가 될 것입니다.) 그리고 포인트별로 정렬 된 목록을 인쇄하는 또 다른 하나 (이제 알게 될 것입니다)사용자 정의 클래스를 포함하는 목록을 정렬하십시오
그래서 저는 Player.java 클래스를 가지고 있습니다.
public class Player {
String name;
String password;
int chips;
int points;
public Player (String n, String pw, int c, int p) {
name = n;
password = pw;
chips = c;
points = p;
}
public String getName() {
return name;
}
public void setName (String n) {
name = n;
}
public void setPW (String pw) {
password = pw;
}
public String getPW() {
return password;
}
public void setChips (int c) {
chips = c;
}
public int getChips() {
return chips;
}
public void setPoints (int p) {
points = p;
}
public int getPoints() {
return points;
}
}
매우 간단하고 내가 (다른 클래스)이있는 목록 만드는거야이와
List<Player> lplayer = new ArrayList<Player>();
추가 플레이어 :
lplayer.add(new Player(n,pw,c,p))`
을 그리고 마지막으로이 통계를 읽는 중 :
public int search_Player (String n) {
String name;
int i = 0;
boolean found = false;
while ((i <= tp) && (!found)) {
name = lplayer.get(i).getName();
if (name.equals(n)) {
found = true;
}
i++;
}
return (found == true) ? i-1 : -1;
}
public Player show_Player (int i) {
return lplayer.get(i);
}
public void list_Players() {
Collections.sort(lplayer);
int i2;
if (tp > 0) { // variable which contains number of total players
for (int i = 0;i<tp;i++) {
i2 = i+1;
System.out.println ("\n"+i2+". "+lplayer.get(i).getName()+" [CHIPS: "+lplayer.get(i).getChips()+" - POINTS: "+lplayer.get(i).getPoints()+"]");
}
}
else {
System.out.println ("There are no players yet.");
}
}
기본적으로 모든 코드입니다. 당신이 볼 수 있듯이 나는 이미 list_Players 함수를 가지고 있지만 추가 된 순서대로 출력한다. 각 플레이어의 포인트별로 정렬하여 인쇄하는 방법이 필요합니다 (기본적으로 순위 지정).
제가 알기로 저는 꽤 자바에 익숙하지 않으므로 그렇게하기 매우 복잡한 방법을 생각해 내지 말아주세요.
필자는 이미 그것을 검색하여 Collections.sort (list)와 같은 것을 찾았지만, 지금 당장 필요한 것은 아니라고 생각합니다.
감사합니다.
확실히'Collections.sort'가 필요합니다. 다른 기준이 아닌 점수별로 정렬 만하면되고,'public class Player implements Comparable'이라고 쓰고 필요한 메소드를 구현하십시오. –
'총 선수 수를 포함하는 변수'와 같은 간단한 것을 언급해야한다면 더 나은 변수 이름을 사용해야합니다. –
'int search_Player (String n)'과 같은 메소드가 어떤 일을하는지에 대해서도 생각해 내기가 매우 어렵습니다. 'Player getPlayerByName (String name)'(이전 메소드 서명이 할당에 의해 명시 적으로 요구되지 않는 한)은 어떻습니까? –