-1
我的問題在於第五個功能。我沒有得到如何解決它。有人能幫助我嗎?Java程序使用列表,設置,數據庫(板球管理系統)
- 從數據庫填充並存儲在列表中。
List<Player>populate() throws ClassNotFoundException, SQLException;
- 根據運行對列表進行排序(最高優先)。
void sortRuns(List<Player> list);
- 根據出道日期對列表進行排序。
void sortByDebut(List<Player> list);
- 計算每個玩家的平均值並返回一個具有場平均值的列表。退貨清單應按平均值排序(最高優先)。
List<Player>sortByAverage(List<Player>list);
- 返回運行次數少於10000的玩家組。例如,如果您將3傳遞給該函數,它應該只會隨機返回3個玩家,並且每次應該生成不同的集合 。
Set<Player> randomSet(List<Player> list,int n);
豆類類是:
public class Player{
int capid;
String playerName;
Country country;
int matches;
int runs;
Date Debut;
int notOut;
float average;
}
國家爲ENUM:
public enum Country {
India,Australia,SouthAfrica,NewZeland,England,SriLanka,WestIndies
}
Above Solved 4 functions are:
public class DataManagerImpl implements DataManager
{
DBConnectionImpl dm=new DBConnectionImpl();
Connection conn;
@Override
public List<Player> populate() throws ClassNotFoundException, SQLException {
List<Player> list=new ArrayList<Player>();
conn=dm.getConnection();
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery("Select * from stats");
while(rs.next())
{
Player p=new Player(rs.getInt(1),rs.getString(2),Country.valueOf(rs.getString(3)),rs.getInt(4),rs.getInt (5),rs.getDate(6),rs.getInt(7));
list.add(p);
}
return list;
}
@Override
public void sortRuns(List<Player> list) {
// TODO Auto-generated method stub
Collections.sort(list,new Comparator<Player>(){
@Override
public int compare(Player o1, Player o2) {
// TODO Auto-generated method stub
return Integer.compare(o2.getRuns(),o1.getRuns());
}
});
}
@Override
public void sortByDebut(List<Player> list) {
// TODO Auto-generated method stub
Collections.sort(list,new Comparator<Player>(){
@Override
public int compare(Player o1, Player o2) {
// TODO Auto-generated method stub
return o1.getDebut().compareTo(o2.getDebut());
}
});
}
@Override
public List<Player> sortByAverage(List<Player> list) {
List<Player> plist=new ArrayList<Player>();
float average;
for(Player p:list)
{
int runs=p.getRuns();
int matchs=p.getMatches();
average=(runs/matchs);
p.setAverage(average);
plist.add(p);
}
Collections.sort(plist,new Comparator<Player>(){
@Override
public int compare(Player o1, Player o2) {
// TODO Auto-generated method stub
return Double.compare(o2.getAverage(),o1.getAverage());
}
});
// TODO Auto-generated method stub
return plist;
}
我編輯了你的問題,以便閱讀。現在,您可能想編輯問題並添加自己的代碼,以便其他人可以看到您如何解決其他4個問題以及您打算如何解決問題5.如果您需要幫助解決問題5,請嘗試解釋您的問題't'得到'。你不明白這個問題,或者你不知道如何解決功能中的一個特定問題(也許隨機是麻煩..)? – GameDroids 2014-12-05 17:39:38