标签:总结 return String void 周末 Skater import public
滑手赛程管理系统
//异常类
package Exception;
public class TrickException extends Exception {
private static final long serialVersionUID = 1L;
public TrickException(){
super();
}
public TrickException(String message){
super(message);
}
}
package Model;
public class Competition {
private String name;
private String place;
private String time;
public Competition() {
super();
}
public Competition(String name, String place, String time) {
super();
this.name = name;
this.place = place;
this.time = time;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPlace() {
return place;
}
public void setPlace(String place) {
this.place = place;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
package Model;
public class Person {
private String name;
private Sex Sex;
private int age;
private String country;
Person(){
}
Person(String name,Sex sex,int age,String country){
this.name=name;
this.age=age;
this.Sex=sex;
this.country=country;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Sex getSex() {
return Sex;
}
public void setSex(Sex sex) {
Sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
}
package Model;
public enum Sex{
Male,FEMaLe;
}
package Model;
public class Skateboard {
private String deck;
private String wheel;
private String tuck;
private String bearing;
private String sandpaper;
public Skateboard() {
super();
}
public Skateboard(String deck, String wheel, String tuck, String bearing, String sandpaper) {
super();
this.deck = deck;
this.wheel = wheel;
this.tuck = tuck;
this.bearing = bearing;
this.sandpaper = sandpaper;
}
public String getDeck() {
return deck;
}
public void setDeck(String deck) {
this.deck = deck;
}
public String getWheel() {
return wheel;
}
public void setWheel(String wheel) {
this.wheel = wheel;
}
public String getTuck() {
return tuck;
}
public void setTuck(String tuck) {
this.tuck = tuck;
}
public String getBearing() {
return bearing;
}
public void setBearing(String bearing) {
this.bearing = bearing;
}
public String getSandpaper() {
return sandpaper;
}
public void setSandpaper(String sandpaper) {
this.sandpaper = sandpaper;
}
}
package Model;
import java.util.ArrayList;
import java.util.List;
import Service.SkateImpl;
public class Skater extends Person {
private Skateboard skateboard;
private List<String>brands=new ArrayList();
private List<Trick>tricks=new ArrayList();
public final SkateImpl si=new SkateImpl();
public Skater() {
super();
}
public Skater(String name,Sex sex, int age, String country) {
super(name, sex, age, country);
}
public Skateboard getSkateboard() {
return skateboard;
}
public void setSkateboard(Skateboard skateboard) {
this.skateboard = skateboard;
}
public List<String> getBrands() {
return brands;
}
public void setBrands(List<String> brands) {
this.brands = brands;
}
public List<Trick> getTricks() {
return tricks;
}
public void setTricks(List<Trick> tricks) {
this.tricks = tricks;
}
}
package Model;
public class Trick {
private String name;
private String footPosition;
private String spin;
private String basic;
public Trick() {
super();
}
public Trick(String footPosition, String spin, String basic) {
super();
this.footPosition = footPosition;
this.spin = spin;
this.basic = basic;
name=footPosition+spin+basic;
}
public String getFootPosition() {
return footPosition;
}
public void setFootPosition(String footPosition) {
this.footPosition = footPosition;
}
public String getSpin() {
return spin;
}
public void setSpin(String spin) {
this.spin = spin;
}
public String getBasic() {
return basic;
}
public void setBasic(String basic) {
this.basic = basic;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object obj) {
Trick t=(Trick)obj;
if(name.equals(t.getName())&&footPosition.equals(t.getFootPosition())
&&spin.equals(t.getSpin())&&basic.equals(t.getBasic())) {
return true;
}
return false;
}
}
package Service;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import java.util.Random;
import Exception.TrickException;
import Model.Competition;
import Model.Skater;
import Model.Trick;
public class CompetitionImpl implements CompetitionService {
List<Skater> competitors=new ArrayList();
Competition competition;
List<String> skaterName=new ArrayList();
//选手报名
public void SignforCompetiton(Skater skater) {
for(Skater c:competitors) {
if(c.equals(skater)) {
System.out.println("该选手已报名,请勿重复报名");
return;
}
}
competitors.add(skater);
System.out.println(skater.getName()+"报名成功");
}
//举行比赛
public void holdCompetition(Competition competition) {
this.competition=competition;
}
//获取选手名单
public List<Skater> getCompetitors() {
return competitors;
}
//进行比赛
public void manageCompetition(List<Trick> tricks) {
int court=competitors.size();
Skater winner=competitors.get(court-1);
Random r=new Random();
for(int i=1;court>1;i++) {
System.out.println("第"+i+"轮比赛开始!");
ListIterator<Skater> lit=competitors.listIterator();
while(lit.hasNext()) {
if(court>1) {
Skater s=lit.next();
Trick trick=tricks.get(r.nextInt(4));
System.out.println(s.getName()+"要挑战的招式是"+trick.getName());
try {
s.si.doTrick(s, trick);
System.out.println("oh oh oh!他做到了!");
winner=s;
}
catch(TrickException te){
System.out.println(te.getMessage()+"真可惜"+s.getName()+"出局了");
lit.remove();
court--;
}
}
else {
break;
}
}
if(court>1) {
System.out.println("本轮结束,经过激烈的角逐还剩"+court+"名挑战者,稍作休整让我们看谁能撑过下一轮");
}
}
System.out.println("比赛结束,经过激烈的角逐我们的冠军终于产生了,他就是来自"+winner.getCountry()
+"的"+winner.getName());
}
//赛事信息公布
public void postCompetitionInfo() {
String s1="本次滑板大赛"+"--"+competition.getName()+"将于"+
competition.getTime()+"在"+
competition.getPlace()+"举办!参赛滑手有 ";
String s2="";
for(Skater s:competitors) {
skaterName.add(s.getName());
}
for(String s:skaterName) {
s2+=s+" ";
}
System.out.println(s1+s2+"望选手准时参赛,祝比赛成功!");
System.out.println("------------------------------");
System.out.println("参赛选手信息如下:");
for(Skater s:competitors) {
System.out.println(s.getName()+" "+s.getSex()+" "+s.getAge()+"岁 "+s.getCountry());
}
System.out.println("------------------------------");
}
}
package Service;
import java.util.List;
import Model.Competition;
import Model.Skater;
import Model.Trick;
public interface CompetitionService {
//选手报名
void SignforCompetiton(Skater skater);
//举办比赛
void holdCompetition(Competition competition);
//选手准备
List<Skater> getCompetitors();
//进行比赛
void manageCompetition(List<Trick> tricks);
//赛事信息展示
void postCompetitionInfo();
}
package Service;
import java.util.List;
import Exception.TrickException;
import Model.Skater;
import Model.Trick;
public class SkateImpl implements SkaterService {
public int ltcourt=0;
public int gscourt=0;
@Override
public void doTrick(Skater skater, Trick trick) throws TrickException {
List<Trick> tricks=skater.getTricks();
for(Trick t:tricks) {
if(t.equals(trick)) {
if(Math.random()<0.1) {
throw new TrickException("oh too bad!他拿手的招式失误了");
}
return;
}
}
if(Math.random()<0.9) {
throw new TrickException("how terrible!他没学过这一招");
}
return;
}
@Override
public void learnTrick(Skater skater, Trick trick) {
if(ltcourt<3){
List<Trick> tricks=skater.getTricks();
for(Trick t:tricks) {
if(t.equals(trick)) {
return;
}
}
System.out.println(skater.getName()+"通过刻苦学习学会了"+trick.getName());
tricks.add(trick);
ltcourt++;
skater.setTricks(tricks);
}
}
@Override
public void changeEquip() {
}
@Override
public void getSupport(Skater skater,String brand) {
if(gscourt<3) {
List<String> brands=skater.getBrands();
for(String b:brands) {
if(b.equals(brand)){
return;
}
}
skater.getBrands().add(brand);
System.out.println("恭喜"+skater.getName()+"获得"+brand+"的赞助");
gscourt++;
}
}
}
package Service;
import Exception.TrickException;
import Model.Skater;
import Model.Trick;
public interface SkaterService {
//做招式
void doTrick(Skater skater,Trick trick)throws TrickException;
//学招式
void learnTrick(Skater skater,Trick trick);
//换装备
void changeEquip();
//得赞助
void getSupport(Skater skater, String brand);
}
package Test;
import java.util.ArrayList;
import java.util.List;
import Model.Competition;
import Model.Sex;
import Model.Skateboard;
import Model.Skater;
import Model.Trick;
public class Competitionprepar {
public List<Skater> skaters(){
List<Skater> skaters=new ArrayList();
skaters.add(new Skater("Eric",Sex.Male,19,"America"));
skaters.add(new Skater("Sean",Sex.Male,16,"America"));
skaters.add(new Skater("Leticia",Sex.FEMaLe,14,"Brazil"));
skaters.add(new Skater("ZhangSan",Sex.Male,17,"China"));
return skaters;
}
public List<Trick> tricks(){
List<Trick> tricks=new ArrayList();
tricks.add(new Trick("normal","frontside","hardflip"));
tricks.add(new Trick("nollie","backside","Kickflip"));
tricks.add(new Trick("fakie","frontside","bigspin"));
tricks.add(new Trick("switch","360","ollie"));
return tricks;
}
public Skateboard buySkateboard(){
return new Skateboard("Zero","Spitfire","Thunder","Bones","Mob");
}
public Competition competition(){
return new Competition("SLS街头联盟大赛","芝加哥","2020年5月14日");
}
}
package Test;
import java.util.List;
import java.util.Random;
import Model.Skater;
import Model.Trick;
import Service.CompetitionImpl;
public class testDemo {
public static void main(String[] args) {
Competitionprepar cp=new Competitionprepar();
CompetitionImpl ci=new CompetitionImpl();
List<Skater> skaters=cp.skaters();
List<Trick> tricks=cp.tricks();
String[] brands={"NIKE-SB", "HUF","SKALUTE","7-PE"};
Random r=new Random();
for(Skater s:skaters) {
//配备滑板
s.setSkateboard(cp.buySkateboard());
while(s.si.ltcourt<3||s.si.gscourt<3) {
//学习招式
s.si.learnTrick(s, tricks.get(r.nextInt(3)));
//获得赞助
s.si.getSupport(s,brands[r.nextInt(3)] );
}
//报名
ci.SignforCompetiton(s);
System.out.println("------------------------------------------");
}
//举行比赛
ci.holdCompetition(cp.competition());
//赛事信息公布
ci.postCompetitionInfo();
//赛事文字直播
ci.manageCompetition(tricks);
}
}
标签:总结,return,String,void,周末,Skater,import,public 来源: https://blog.csdn.net/m0_57091160/article/details/119303755
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。