package sports;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
//运动员端:
//登录成功后
//1.可报名参赛。
//2.赛后可查询自己的成绩和排名,以及大赛排行榜(前10名)。
//3.可查看管理员发布的有关比赛的通知。
//
//管理员端:
//登录成功后
//1.可对注册用户进行审批\查询\账户禁用\重置密码等管理。
//2.可启停报名活动,审批参赛申请,查看和统计赛事报名情况。
//3.可录入比赛成绩,查询运动员的比赛成绩和排名,以及包含所有运动员成绩的排行榜
//4.可发布通知。
public class marathon {
public static List<User> userList=new ArrayList<User>();
public static List<User> managerList=new ArrayList<User>();
public static List<Competition>competitionList=new ArrayList<Competition>();
public static List<Grade>GradeList=new ArrayList<Grade>();
public static List<Notice> noticeList=new ArrayList<Notice>();
public static void main(String[] args) {
//测试用户
User user=new User();
user.setUsername("user");
user.setPassword("123");
userList.add(user);
//测试管理员
User manager=new User();
manager.setUsername("manager");
manager.setPassword("123");
managerList.add(manager);
//测试赛事
Competition c=new Competition();
c.setName("马拉松");
competitionList.add(c);
//测试成绩
Grade Grade=new Grade();
Grade.setCompetition(c);
Grade.setUser(user);
Grade.setGrade(84.3);
GradeList.add(Grade);
//测试通知
Notice notice=new Notice();
notice.setName("马拉松大赛通知");
notice.setContent("马拉松大赛通知内容");
noticeList.add(notice);
Scanner input = new Scanner(System.in);
//页面信息展示
System.out.println("======马拉松赛信息管理系统======");
System.out.println("请输入数字后,按下回车键进行操作");
System.out.println("(运动员和管理员测试账号名分别为user和manager,密码皆为123)");
System.out.println("1.运动员端登录");
System.out.println("2.管理员端登录");
System.out.println("3.用户注册");
System.out.println("4.退出系统");
//输入要选择的功能
int num = input.nextInt();
//功能选择
switch (num) {
case 1:
userLogin();//运动员端登录
break;
case 2:
managerLogin();//管理员端登陆
break;
case 3:
register();//用户注册
break;
case 4:
System.out.println("------退出系统------");
System.exit(0);//退出系统
}
}
//运动员登录
public static void userLogin() {
System.out.println("------运动员端登录------");
Scanner input = new Scanner(System.in);
String username=null;
String password=null;
boolean allow=false;
//输入用户名密码
System.out.println("请输入用户名:");
username=input.nextLine();
System.out.println("请输入密码:");
password=input.nextLine();
//用户验证
for(User user:userList) {
if(user.getUsername().equals(username)){
if(user.getPassword().equals(password)) {
if(user.isAvalible()==true)
allow=true;
else {
System.out.println("该账户已被禁用");
}
break;
}
}
}
if(allow) {
System.out.println("------登录成功,即将跳转到运动员首页------");
userIndex();
}
else {
System.out.println("------登录失败,即将返回首页------");
main(null);
}
}
//管理员登陆
public static void managerLogin() {
System.out.println("------管理员端登录------");
Scanner input=new Scanner(System.in);
String username=null;
String password=null;
boolean allow=false;
//输入用户名密码
System.out.println("请输入用户名:");
username=input.nextLine();
System.out.println("请输入密码:");
password=input.nextLine();
//用户验证
for(User user:managerList) {
if(user.getUsername().equals(username)){
if(user.getPassword().equals(password)) {
allow=true;
break;
}
}
}
if(allow) {
System.out.println("------登录成功,即将跳转到管理员员首页------");
managerIndex();
}
else {
System.out.println("------登录失败,即将返回首页------");
main(null);
}
}
//用户注册
public static void register() {
System.out.println("------用户注册------");
Scanner input=new Scanner(System.in);
String username = null;
String password = null;
//输入用户名密码
System.out.println("请输入用户名:");
username=input.nextLine();
System.out.println("请输入密码:");
password=input.nextLine();
//数据添加
User user=new User();
user.setUsername(username);
user.setPassword(password);
userList.add(user);
System.out.println("------注册成功------");
System.out.println("请输入数字后,按下回车键进行操作");
System.out.println("1.立即登录");
System.out.println("2.返回首页");
System.out.println("3.退出系统");
int num = input.nextInt();
//操作选择
switch (num) {
case 1:
userLogin();
break;
case 2:
main(null);
break;
case 3:
System.out.println("------退出系统------");
System.exit(0);
}
}
//运动员端首页
public static void userIndex() {
Scanner input=new Scanner(System.in);
System.out.println("------运动员首页------");
System.out.println("请输入数字后,按下回车键进行操作");
System.out.println("1.报名参赛");
System.out.println("2.查询成绩");
System.out.println("3.查看公告");
System.out.println("4.返回首页");
System.out.println("5.退出系统");
int num = input.nextInt();
//操作选择
switch (num) {
case 1:
competitionRegister();
break;
case 2:
competitionGrade();
break;
case 3:
competitionNotice();
break;
case 4:
main(null);
break;
case 5:
System.out.println("------退出系统------");
System.exit(0);
}
}
//运动员报名
public static void competitionRegister() {
Scanner input=new Scanner(System.in);
//输入赛事名
System.out.println("请输入你要报名的赛事名:");
String compName=input.nextLine();
//判断输入的赛事是否存在
boolean flagComp=false;
Competition comp = null;
for(Competition competition:competitionList) {
if(competition.getName().equals(compName)) {
flagComp=true;
comp=competition;
}
}
if(!flagComp) {
System.out.println("------赛事不存在,即将返回用户首页------");
userIndex();
}
else {
System.out.println("请输入参赛用户名:");
String username=input.nextLine();
boolean isExist=false;
for(User user:userList) {
if(user.getUsername().equals(username)) {
isExist=true;
if(comp!=null) {
comp.getUsersList().add(user);
comp.setNumber(comp.getNumber()+1);
System.out.println("------报名成功,即将返回用户首页------");
userIndex();
}
else {
System.out.println("------报名失败,即将返回用户首页------");
userIndex();
}
}
}
if(!isExist) {
System.out.println("------用户名与当前用户不匹配,报名失败,即将返回用户首页------");
userIndex();
}
}
}
//比赛成绩查询
public static void competitionGrade() {
Scanner input=new Scanner(System.in);
List <Grade> datas = new ArrayList<Grade>() ;
boolean flagComp=false;
boolean flagUser=false;
System.out.println("请输入需要查询的赛事:");
String compName=input.nextLine();
for(Grade data:GradeList) {
if(data.getCompetition().getName().equals(compName)) {
flagComp=true;
datas.add(data);
}
}
Collections.sort(datas);
//用户成绩查询
System.out.println("请输入您要查询的用户:");
String username=input.nextLine();
int i=1;
System.out.println(compName);
for(Grade data:datas) {
if(data.getUser().getUsername().equals(username)) {
flagUser=true;
System.out.println("您的成绩:"+data.getGr
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Java大学学期期末大作业合集 内容概览: 这份合集是我在大学期间完成的Java学期期末大作业,其中包括了完整的代码、项目、文档和使用说明。内容涵盖了从基础到进阶的Java知识,具体包括: 代码与项目:详细的Java代码,展示了各种数据结构和算法的实际应用。同时,我还创建了一个完整的小型项目,该项目使用Java进行开发,并实现了多种功能。 MD文档:为了帮助他人更好地理解项目,我编写了详细的Markdown文档,对项目进行了全面的介绍,包括项目背景、功能描述、技术栈选择等。 操作手册与使用说明:针对项目的实际使用,我编写了详尽的操作手册和使用说明,确保用户可以轻松上手。 学习笔记:在完成项目的过程中,我记录了大量的学习笔记,这些笔记涵盖了我遇到的问题、解决方案以及学习心得。 适用人群: 这份合集适用于所有正在学习或已经掌握Java基础的人群,无论你是大学生、Java初学者还是有一定经验的开发者,都可以从中获得启发和帮助。 使用建议: 按需阅读:不同的用户可能有不同的需求,你可以根据自己的实际情况选择阅读的内容。例如,如果你对某个算法或数据结构感兴趣,可以直接查看相关的代码实现。 实践为先:虽然这份合集提供了丰富的理论知识和实践代码,但最好的学习方式仍然是亲自动手实践。尝试运行代码、修改项目并解决遇到的问题。 持续学习:Java是一门不断发展的语言,新的特性和技术不断涌现。我建议你在使用这份合集的同时,也要关注Java的最新动态,持续学习和进步。
资源推荐
资源详情
资源评论
收起资源包目录
Java期末大作业 .zip (9个子文件)
meiyangyagcaoheitailng
.classpath 301B
.settings
org.eclipse.jdt.core.prefs 646B
src
sports
Competition.java 1KB
Grade.java 785B
Notice.java 452B
marathon.java 22KB
User.java 678B
.project 382B
.gitignore 6B
共 9 条
- 1
资源评论
01红C
- 粉丝: 1629
- 资源: 1098
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功