我有一个类AthleticCompetitionResults
并想创建一个类来返回这个 AthleticCompetitionResults
的对象从行初始化,例如
Siim Susi;12.61;5.00;9.22;1.50;60.39;16.43;21.60;2.60;35.81;5.25.72
Siim Susi2;12.61;5.00;9.22;1.50;60.39;16.43;21.60;2.60;35.81;5.25.72
Jaana Lind;13.75;4.84;10.12;1.50;68.44;19.18;30.85;2.80;33.88;6.22.75
public class AthleticCompetitionResults {
private Athletic athletic;
private float resultM100;
private float resultLongJump;
private float resultShotPut;
private float resultHighJump;
private float resultM400;
private float resultHurdles110m;
private float resultDiscusThrow;
private float resultPoleVault;
private float resultJavelinThrow;
private float resultM1500;
private int points;
public AthleticCompetitionResults(Athletic athletic) {
this.athletic = athletic;
}
public void countPoints(){
//counting
}
// setters and getters
...
已编辑:
我的目标是打印 List<AthleticCompetitionResults>
的列表按积分排序并打印比赛地点。如果 points 等于打印 1-2
地方。示例:
1-2 Siim Susi 4200 pts
1-2 Siim Susi2 4200 pts
3 Jaana Lind 3494 pts
保存田径比赛 field 的最佳方法是什么?怎么样List<Integer>' places in class 'AthleticCompetitionResults
?
public class Competition{
private List<AthleticCompetitionResults> athleticsData;
public Competition(List<AthleticCompetitionResults> data){
this.athleticsData = data;
}
public void sortByPoints(){
//sorting by points
}
public void setPlaces(){
//setting athletics places in competition by points
}
public void print(){
//printing e.g 1-2 Siim Susi 4200 pts ...
}
}
最佳答案
考虑:
并非所有事件都会按时发生
- 例如摔跤、射击)
结果取决于事件类型
- 冲刺有完成时间和排名
- 摔跤有赢家/输家
某些事件组的结果属性相似
100m 短跑、500m 短跑、游泳、马拉松都有完成时间。
标枪,铅球,讨论 throw 距离。
所有事件都有明确的赢家
我们需要一个策略,以便根据事件类型,我们的结果属性可以改变。
让我们试着写下它的一些示例代码:
class Result {
protected boolean winner;
..
};
class ThrowingResult extends Result{
protected float range;
..
}
class SprintResult extends Result{
protected double timeToFinishInMilliseconds;
protected int finalPosition;
..
}
class AthleticCompetitionResults{
private Athletic athletic;
private SprintResult resultM100;
private SprintResult resultLongJump;
private ThrowingResult javelin;
private ThrowingResult shotPut;
private Result wrestling;
...
}
关于java - 我应该使用哪种设计模式来按积分设置比赛 field ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32537928/