数据结构课程设计——项目1:计算机设计大赛赛事统计


1 问题总览

参加计算机设计大赛的n个学校编号为1~n,赛事分成m个项目,项目的编号为1~m.比赛获奖按照得分降序,取前三名,写一个统计程序产生各种成绩单和得分报表。


2 任务概述

2.1 基本要求

1)每个比赛项目至少有10支参赛队;每个学校最多有6支队伍参赛;

2)能统计各学校的总分;

3)可以按照学校编号或名称,学校的总分、各项目的总分排序输出;

4)可以按学校编号查询学校某个项目的获奖情况;可以按项目编号查询取得前三名的学校;

5)数据存入文件并能随时查询

2.2 设计要求

1)输入数据形式和范围:可以输入学校的名称,赛事项目的名称。

2)输出形式:有中文提示,各学校分数为整数

3)界面要求:交互设计要合理,每个功能可以设立菜单,根据提示,可以完成相关功能的要求。

4)存储结构:学生自己根据系统功能要求自己设计,但是赛事相关数据要存储在文件中。

2.3 测试数据

  要求使用全部合法数据,整体非法数据,局部非法数据。进行程序测试,以保证程序的稳定。

2.4 实现提示

  假设3<赛事项目数量<=10,学校名称长度不超过20个字符。每个赛事结束时,将其编号、名称输入,并依次输入参赛学校编号、学校名称和成绩。


3 需求分析

3.1 基础功能

3.1.1 信息查询及编辑

学校信息(编号名称等),赛事信息(编号等),成绩单(总得分等),获奖情况

3.1.2 排序输出

按学校编号/名称,学校总分、各项目总分输出,基于排序进行查询并且输出

3.1.3 数据存储

将上述信息存储到指定文件中

3.2 进阶功能思考

3.2.1 权限

考虑到系统的不同用户应该获取不同的使用权限,未登录的访客仅可查看赛事相关信息,普通学校队伍用户只可获取查询得分、名次等权限,赛事管理方拥有编辑赛事、修改分数等全部权限。系统创建者拥有权限修改的全部权限。

而权限的制约需要用下述用户登录功能

3.2.2 用户登录

由赛事管理方赋予各学普通用户权限进行制约。而赛事方登录信息由系统创建者在创建系统时赋予或修改。校方用户可自行注册,进行登录,密码修改等操作。

3.2.3 交互模式

鉴于该系统属于层层递进系,菜单操作比较适合。考虑到不同用户权限,菜单功能也不尽相同。

3.3 系统流程图

3.4 编程语言

鉴于个人已学知识与掌握程度,java比较适合。


4 设计      

4.1 设计条件

1.参与的队伍<10的比赛项目没有权限进行

2.每个学校的参赛队伍<=6

3.设3<赛事项目数量<=10,学校名称长度不超过20个字符

4.每个赛事结束时,将其编号、名称输入,并依次输入参赛学校编号、学校名称和成绩

5.得分均为int整型,编号均为int整型

4.2 注意点

1.当某一个赛事两支队伍的得分相同时,如何排序?

2.当一个队伍参加多项赛事时,数据如何存储?

4.3 设计思路

考虑到本系统数据结构是线性表,故考虑使用java中的ArrayList进行数据的增删改查,同时可以使用ArrayList的一系列内部方法进行操作,使系统开发相对简洁。同时用户登录模块也可以使用ArrayList进行编辑。

值得一提的是,在之前的学习中,发现ArrayList配getInstance使用可以完美契合在外部类对原始数据的一系列操作,希望在本次系统的开发过程中也可以发挥作用。

对于数据的存储,可以调用BufferedWriter系列功能。

在排序模块中,或将使用基础的直接排序或冒牌排序等功能。

针对4.2中的问题,问题1初步考虑按学校编号进行二次排序;问题2初步考虑单独对队伍创建ArrayList进行不同赛事结果的存储。

总体思路:不同数据组使用不同的List,各功能也创建不同的类,最后集成在main方法中。

4.4 详细设计

4.4.1 类定义

School类,内含学校Sid,学校名称Sname,学校参赛队伍Steam个数,总分Sscore等,

Team类,内含所属学校sid,队伍Tid,队伍名称Tname,参加项目Tevent和所得分数Tscore等字段

Event类,内含项目Eid,名称Ename以及参加该项目的队伍信息Etid;

EventScore类,内含以上所有字段,为总数据源;

以上类包含的数据均使用ArrayList进行数据源集合,使用getInstance方法将数据应用至外部方法。

4.4.2 主要功能函数

a.登录login

b.注册regist

c.查看项目信息seeevent

d.查询项目成绩/排名query(登录权限)

e.输入/修改项目信息/成绩manage(管理员权限)

f.查看各学校/队伍获奖情况seeprize(登录权限)

g.注销outlogin(已登录情况下)

5.主要代码

首先附上部分效果图

 

5.1 Dao层方法及main函数

package Dao;


import entity.*;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Random;

public class UserDao {
    List<user> list= userDB.getInstance();
    List listlogin= iflogin.getInstance();
    List<Event>eventList= EventDB.getEventlist();
    List<Team>eteamtList= EventDB.getEteamlist();
    List<School>schoolList= SchoolDB.getSchoollist();
    List<Team>SteamList=SchoolDB.getSteamlist();
    List<Event>TeventList= TeamDB.getTeventlist();
    List<Team>teamList=TeamDB.getTeamlist();
    List<user>listuser= userDB.getInstance();
    List<EventScore>eventScoreList=EventScoreDB.getEventscorelist();
    public int addUser(user user){

       list.add(user);
        return 0;
    }
    public int denglu(){
        for(int i=0;i<listlogin.size();i++){
            if(listlogin.get(i).equals(1))
                return i;}
        return 0;
    }
    public int findindex(String name) {
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).getId().equals(name))
                return i;
        }
        return 0;
    }
    public int  checklogin(){
        for(int i=0;i<listlogin.size();i++){
            if(listlogin.get(i).equals(1))
                return 1;
        }
        return 0;
    }
    public boolean checkname(String name) {
        int flag=1;

        for (user user : list) {
            if (user.id.equals(name))
                flag=0;
        }
    if(flag==0)return false;
    else return true;
    }
    public String checkcode(String code){
       if(code.length()>=6&&code.length()<=10){
            return code;
        }else return "0";
    }
    public boolean againcode(String code,String againcode){
        if(code.equals(againcode)) return true;
        else return false;
    }



public String rdate(){
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    return df.format(new Date());
}
    public String vercode(){
        String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        StringBuffer sb = new StringBuffer() ;
        Random rd = new Random();
        for (int i = 0; i < 4; i++) {
            int start = rd.nextInt(base.length());
            String a = base.substring(start,start+1);
            sb.append(a);
        }
        return sb.toString();
    }

    public user findByName(String name){
        for(user user:list){
            if (user.name.equals(name)){
                return user;
            }
        }
        return null;
    }

    public boolean checkUserName(String name){
        boolean flag = false;
        for(user user:list){
            if (user.id.equals(name)){
                flag=true;
            }
        }
        return flag;
    }
    public boolean checkUserPassword(String userName,String userPassword){
        boolean flag = false;
        for (int i = 0; i < list.size(); i++) {
            if(list.get(i).getId().equals(userName)&&list.get(i).getCode().equals(userPassword)){
                flag = true;
            }
        }
        return flag;
    }
public int index(List<Team> list,String id){
        for(int i=0;i<list.size();i++){
            if(list.get(i).getSid().equals(id))
                return i;
        }
        return 0;
}


    public int Sidtotalscore(String schoolid){
        int total=0;
        for(int i=0;i<eventScoreList.size();i++){
            if(eventScoreList.get(i).getEteamschoolid().equals(schoolid))
               total= total+eventScoreList.get(i).getEscore();
        }return total;
}

    public void detaitotalscore(String schoolid,int score){
        for(int i=0;i<schoolList.size();i++){
            if(schoolList.get(i).getSid().equals(schoolid)){
                schoolList.get(i).score+=score;
            }
        }
    }
    public boolean checkEid(String Eid){
        boolean f=true;
        for(int i=0;i<eventScoreList.size();i++){
        if(eventScoreList.get(i).getEid().equals(Eid))
            f=false;
        }return f;
    }
    public boolean checkTid(String Tid,List<EventScore> list){
        boolean f=true;

            for(int i=0;i<list.size();i++){
            if(list.get(i).getEteamid().equals(Tid))
                f=false;
        }return f;
    }
   public boolean checkSid(String Sid){
        for(int i=0;i<schoolList.size();i++){
            if(schoolList.get(i).getSid().equals(Sid))
               return false;
        }return true;
    }
    public void deldata(String id){
        for(int i=0;i<eventScoreList.size();i++){
            if(eventScoreList.get(i).getEid().equals(id)){
                eventScoreList.remove(i);
            }
        }
    }
        public void schoolsort(List<School> list){
           School temp;
           for(int i=0;i<list.size();i++)
               for(int j=i;j<list.size();j++){
            if(list.get(i).getSscore()<list.get(j).getSscore()){
                temp=list.get(i);
                list.set(i,list.get(j));
                list.set(j,temp);
            }
               }
        }
    public void schooldetailsort(List<School> list){
        School temp;
        for(int i=0;i<list.size();i++)
            for(int j=i;j<list.size();j++){
                if(list.get(i).getScore()<list.get(j).getScore()){
                    temp=list.get(i);
                    list.set(i,list.get(j));
                    list.set(j,temp);
                }
            }
    }

main函数

package function;

import Dao.UserDao;
import Dao.iflogin;

import java.util.List;
import java.util.Scanner;

public class maintest {
    private static final maintest main = new maintest();

    private maintest() {
    }

    public static maintest getInstance() {
        return main;
    }

    public static void main(String[] args) {
        getInstance().index();
    }

    public void index() {
        Scanner sc = new Scanner(System.in);
        List listlogin = iflogin.getInstance();
        if (new UserDao().checklogin()==0) {
            System.out.println("$$$$$$$$$$$$$欢迎使用计算机设计大赛赛事管理系统$$$$$$$$$$$$$\n1.登录\n2.注册(用户id不可重复)\n3.管理(需要管理员权限)" +
                    "\n4查询赛事结果");
            int m = sc.nextInt();
            switch (m) {
                case 1:
                    new login().checkUserName();
                    break;
                case 2:
                    new register().name1();
                    break;
                case 3:
//                   if( new UserDao().checklogin()==1)
//                   {
                       new manage().matchmanage();
            //}
//                   else {
//                       System.out.println("您尚未登录,无法管理!");
//                       index();
//                   }
                    break;
                case 4:
                  new query().chaxun();
                  break;
                default:
                    System.out.println("输入错误,请重新选择!");
                    index();
            }

        } else {
            System.out.println("$$$$$$$$$$$$$欢迎使用计算机设计大赛赛事管理系统$$$$$$$$$$$$$\n1.退出登录\n2.注册(用户id不可重复)\n3.管理\n4.查询");
            int m = sc.nextInt();
            switch (m) {
                case 1:
                    new outlogin().zhuxiao();
                    break;
                case 2:
                    new register().name1();
                    break;
                case 3:
                    if( new UserDao().checklogin()==1)
                    {new manage().matchmanage();}
                    else {
                        System.out.println("您尚未登录,无法管理!");
                        index();
                    }
                case 4:
                    new query().chaxun();
                    break;
                default:
                    System.out.println("输入错误,请重新输入!");
                    index();
            }
        }
    }
}

5.2 登录注册模块(包括注销)

package function;

import Dao.*;

import entity.user;

import java.util.List;
import java.util.Scanner;

public class login {
    List<user> list = userDB.getInstance();
    List listlogin= iflogin.getInstance();
    Scanner scan = new Scanner(System.in);

    public void checkUserName() {
       if(new UserDao().checklogin()==0) {
           System.out.println("请输入用户id:——0退出");
           String userName = scan.next();
           if (userName.equals("0")) {
               System.out.println("谢谢使用!再见!");
               maintest.getInstance().index();
           } else if (new UserDao().checkUserName(userName)) {
               System.out.println("请输入密码!---0键退出");
               checkUserPassword(userName);
           } else {
               System.out.println("用户名输入有误!请重新输入!");
               checkUserName();
           }
       }
       else {
           System.out.println("已有用户正在登陆,请勿重复登录!已返回主菜单!");
           maintest.getInstance().index();
       }
    }

    public void checkUserPassword(String name) {
        String userPassword = scan.next();
        if (userPassword.equals("0")) {
            System.out.println("谢谢使用!再见!");
        } else if (new UserDao().checkUserPassword(name, userPassword)) {
            System.out.println("请输入以下验证码(不区分大小写)!");
            checkVercode(name);

        } else {
            System.out.println("密码错误!请重新输入————");
            checkUserPassword(name);
        }
    }

    public void checkVercode(String name) {
        String a = new UserDao().vercode();
        System.out.println("您的验证码是: " + a + " ");
        String v = scan.next();
        if (v.equals(a)) {
            System.out.println(list.get(new UserDao().findindex(name)).getName()+"  登陆成功!已返回主界面!");
            int indext=new UserDao().findindex(name);
            listlogin.set(indext,1);
            maintest.getInstance().index();
        } else {
            System.out.println("验证码输入错误,请再试一次!");
            checkVercode(name);
        }

    }
    public int index(String name){
        return new UserDao().findindex(name);
    }
}
package function;

import Dao.*;
import entity.user;


import java.util.List;
import java.util.Scanner;
import java.util.concurrent.CopyOnWriteArrayList;


public class register {
    String name="";
    String name2="";
    String code1="";
    String code2="";

    String zhucedate="";
    Scanner sc = new Scanner(System.in);
    List<user> list = userDB.getInstance();
    List listlogin= iflogin.getInstance();
    public void name1() {
        System.out.println("请输入注册id:");
        name = sc.next();
        if (new UserDao().checkname(name)) {
            System.out.println(name + "成功注册");
            name2();

        }else{
            System.out.println("该id已被注册!请重新输入————");
            name1();
        }
    }
    public void name2(){
        System.out.println("请输入您的名称:");
        name2=sc.next();
     code1();
    }
    public void code1(){
        System.out.println("请设置您的密码,长度为6-10位:");
         code1=sc.next();
        if (new UserDao().checkcode(code1)=="0"){
            System.out.println("该密码不符合规范,请重新输入————");
            code1();
        }
        else System.out.println("密码设置成功!");
        againcode1();

    }
    public void againcode1(){
        System.out.println("请再次输入密码以确认:");
        code2=sc.next();
        if (new UserDao().againcode(code1,code2)){
            System.out.println("确认密码成功!");
        yanzhengma();}
        else{ System.out.println("确认密码失败,请重新输入————");
               code1();}
    }


    public void yanzhengma(){
       String b= new UserDao().vercode();
        System.out.println("您的验证码是: "+b+"\n请输入验证码,区分大小写!");
        String a=sc.next();
        if(a.equals(b)){
            System.out.println("验证成功!注册成功!");
            date();
        }
            else {
            System.out.println("验证码输入错误!请再试一次!");
            yanzhengma();
        }
    }

    public void date(){
        System.out.println("您注册时间是: "+new UserDao().rdate());
        storage();
    }
public void storage() {
    user us = new user(name,name2,code1,0);
    list.add(us);
    listlogin.add(new UserDao().findindex(name),0);
    System.out.println("输入任意值返回主管理菜单!");
    Object t1 = sc.nextLong();
    if (t1 != null)  maintest.getInstance().index();
    else {
        maintest.getInstance().index();
    }

}

}
package function;

import Dao.UserDao;
import Dao.iflogin;
import Dao.userDB;

import entity.user;

import java.util.List;
import java.util.Scanner;

public class outlogin {
    List<user> list = userDB.getInstance();
    List listlogin= iflogin.getInstance();
    Scanner sc=new Scanner(System.in);
    public void zhuxiao(){
        System.out.println("确认使当前账户的退出登录吗?确认输入1,取消输入任意其他数字并返回主菜单");
        int p=sc.nextInt();
if(p==1)delloggin();
else  maintest.getInstance().index();
    }
    public void delloggin(){
        int x=new UserDao().denglu();
        listlogin.set(x,0);
        System.out.println("注销成功,已返回主菜单");
        maintest.getInstance().index();
    }
}

5.3管理模块

管理需要管理员权限,对赛事记录增删改查(包括文件的读取)。

package function;

import Dao.*;
import entity.*;

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.concurrent.CopyOnWriteArrayList;

public class manage {
    List listlogin = iflogin.getInstance();
    List<Event>eventList= EventDB.getEventlist();
    List<Team>eteamtList= EventDB.getEteamlist();
    List<School>schoolList= SchoolDB.getSchoollist();
    List<Team>SteamList=SchoolDB.getSteamlist();
    //List<Event>TeventList= TeamDB.getTeventlist();
    List<Team>teamList=TeamDB.getTeamlist();
    List<user>listuser= userDB.getInstance();
    List<EventScore>eventScoreList=EventScoreDB.getEventscorelist();
    Scanner sc=new Scanner(System.in);
        public void matchmanage(){if (listuser.get(new UserDao().denglu()).getType()==1)
            {
            System.out.println("请输入你想使用的功能:\n1.赛事成绩录入\n2.赛事成绩删除\n3.从文件中读取数据\n其余任意值返回主菜单");
            String a1=sc.next();
            if(a1.equals("1")){ addevent();}
            else if(a1.equals("2")){
               delscore();
            }
            else if(a1.equals("3"))datain();
            else{maintest.getInstance().index();}
        }
          else System.out.println("您不是赛事管理员,无权管理!将返回主菜单");
            maintest.getInstance().index();
    }
        public void addevent(){
            if(eventList.size()<11){
            System.out.println("请输入赛事编号:");
      String  eventid=sc.next();
        if(new UserDao().checkEid(eventid)){
            System.out.println("请输入赛事名称");
        }
      else {
            System.out.println("赛事id重复,请重新输入!");
            addevent();
        }
      String eventname=sc.next();
      List<EventScore> list=new CopyOnWriteArrayList();
      eventList.add(new Event(eventid,eventname,list));
       addteam(eventid,eventname,list);
        }
        else {
                System.out.println("赛事项目数量超出范围!");
                matchmanage();
        }
        }
      public void addteam(String eventid,String eventname,List<EventScore> list){
            System.out.println("请依次输入队伍id、队伍名称、队伍得分、队伍所属学校id、队伍所属学校名称");
                String teamid = sc.next();
                if(new UserDao().checkTid(teamid,list)) {
                    String teamname = sc.next();
                 Scanner s=new Scanner(System.in);
                    if (s.hasNextInt()) {int score=s.nextInt();
                    String schoolid = sc.next();
                    String schoolname = sc.next();
                    eventScoreList.add(new EventScore(eventid, eventname, teamid, teamname, schoolid, schoolname, score));
                    if(new UserDao().checkSid(schoolid)){
                    schoolList.add(new School(schoolid, schoolname,null,0,0));}
                    teamList.add(new Team(teamid,teamname,schoolid,schoolname,0));
                    }
                    else {
                        System.out.println("得分输入的不是数字,请重新输入!");
                        addteam(eventid, eventname,list);
                    }

                }
                else {
              System.out.println("队伍id重复,请重新输入!");
              addteam(eventid,eventname,list);
          }
                System.out.println("数据已保存,您还要继续输入队伍成绩吗?\n继续输入扣1,查看数据扣2,其他任意内容返回主菜单");
               String a3=sc.next();
                if(a3.equals("1")){
                      addteam(eventid,eventname,list);
                }
                else if(a3.equals("2")){
                 seeall();
                    System.out.println("请输入您的选择:\n1.继续录入赛事信息\n2返回上级菜单\3数据写入文件\n其他任意数字返回主菜单");
                    String a1=sc.next();
                    if(a1.equals("1")){ addevent();
                    }
                    else if(a1.equals("2")){
                        matchmanage();
                    }
                    else if(a1.equals("3")){
                        try {

                            File file=new File("D:/1.txt");
                            // if file doesnt exists, then create it
                            if (!file.exists()) {
                                file.createNewFile();
                            }
                            FileWriter fw = new FileWriter(file.getAbsoluteFile());
                            BufferedWriter bw = new BufferedWriter(fw);
                            for(int i=0;i<eventScoreList.size();i++){
                            bw.write(eventScoreList.get(i).getEid()+","+eventScoreList.get(i).getEname()+","+
                                    eventScoreList.get(i).getEteamid()+","+eventScoreList.get(i).getEteamname()+","+
                                    eventScoreList.get(i).getEscore()+","+eventScoreList.get(i).getEteamschoolid()+","+
                                    eventScoreList.get(i).getEteamschoolname()+"\n");}
                            bw.close();
                            System.out.println("存入完成!");
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                matchmanage();
                    }
                    else{maintest.getInstance().index();}
                }
           else {maintest.getInstance().index();}
        }
        public void seeall(){
            System.out.println("赛事id   赛事名称    队伍id   队伍名称  得分   队伍所属学校  学校名称");
            for(int a=0;a<eventScoreList.size();a++){
                System.out.println(eventScoreList.get(a).getEid()+"     "+eventScoreList.get(a).getEname()+"  "+
                        eventScoreList.get(a).getEteamid()+"     "+eventScoreList.get(a).getEteamname()+"  "+
                        eventScoreList.get(a).getEscore()+"     "+eventScoreList.get(a).getEteamschoolid()+"    "+
                        eventScoreList.get(a).getEteamschoolname() );
        }
        }
    public void delscore(){
        System.out.println("赛事记录如下:");
        seeall();
        System.out.println("请输入需要删除的赛事编号:") ;
        String id=sc.next();
        new UserDao().deldata(id);
    }
    public void datain(){
        List<EventScore> al = new CopyOnWriteArrayList();
        FileInputStream fis = null;
        try {
            fis = new FileInputStream("1.txt");
            int len;
            byte[] b = new byte[1024];
            while ((len = fis.read(b)) != -1) {
            String s = new String(b, 0, len);
            String[] str = s.split("\n");
            for (int i = 0; i < str.length; i++) {
                String[] s1 = str[i].split(",");
                String Eid = s1[0];
                String Ename=s1[1];
                String Tid=s1[2];
                String Tname=s1[3];
                int score = Integer.parseInt(s1[4]);
                String Sid=s1[5];
                String Sname=s1[6];
                eventScoreList.add(new EventScore(Eid,Ename,Tid,Tname,Sid,Sname,score));

            }}
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("读取成功!信息如下:");
        System.out.println("赛事id   赛事名称    队伍id   队伍名称  得分   队伍所属学校  学校名称");
        for(int a=0;a<eventScoreList.size();a++){
            System.out.println(eventScoreList.get(a).getEid()+"     "+eventScoreList.get(a).getEname()+"  "+
                    eventScoreList.get(a).getEteamid()+"     "+eventScoreList.get(a).getEteamname()+"  "+
                    eventScoreList.get(a).getEscore()+"     "+eventScoreList.get(a).getEteamschoolid()+"    "+
                    eventScoreList.get(a).getEteamschoolname() );
        }
        matchmanage();
            }
    }

5.4 查询模块

查询包含基本要求(部分代码)

package function;

import Dao.*;
import entity.*;

import java.util.List;
import java.util.Scanner;


public class query {
    List listlogin = iflogin.getInstance();
    List<Event>eventList= EventDB.getEventlist();
    List<Team>eteamtList= EventDB.getEteamlist();
    List<School>schoolList= SchoolDB.getSchoollist();
    List<Team>SteamList=SchoolDB.getSteamlist();
    List<Event>TeventList= TeamDB.getTeventlist();
    List<Team>teamList=TeamDB.getTeamlist();
    List<user>listuser= userDB.getInstance();
    List<EventScore>eventScoreList=EventScoreDB.getEventscorelist();
    Scanner sc=new Scanner(System.in);
    public void chaxun(){
        System.out.println("请输入您想要的功能:\n1.学校总体情况查询\n2.按项目精确查询\n其余任意键返回主菜单");
        String t=sc.next();
        if(t.equals("1")){
            System.out.println("请选择:\n1.查看全部学校总分排名\n2.根据学校编号/名称查询该校获奖情况\n其余键返回上级");
            String t1=sc.next();
            if(t1.equals("1")){Sallscore();}
    else if(t1.equals("2")){
             detailscore();}

    }
    else if(t.equals("2")){
            System.out.println("请选择:1.根据项目编号查询取得前三的学校\n2.根据学校名称查询具体项目总分\n其余键返回上级" );
                String t2=sc.next();
                if(t2.equals("1"))thirdscore();
               else if(t2.equals("2"))snameEscore();
    }
    }

    public void snameEscore() {
        System.out.println("请输入学校名称——");
        String sname=sc.next();
        System.out.println("请输入赛事编号——");
        String eid=sc.next();
        System.out.println("该校参与该赛事的队伍及得分情况如下:\n队伍ID  队伍名称  得分");
        for(int i=0;i<eventScoreList.size();i++){
            if(eventScoreList.get(i).getEteamschoolname().equals(sname)&&eventScoreList.get(i).getEid().equals(eid)){
                eventScoreList.get(i).toString2();
            }
        }
        chaxun();
    }

    public void Sallscore(){
                System.out.println("排名 学校名称    总分");
                 for(int i=0;i<schoolList.size();i++) {
                     schoolList.get(i).setSscore(new UserDao().Sidtotalscore(schoolList.get(i).getSid()));
                 }
                 new UserDao().schoolsort(schoolList);
                 for(int i=0;i<schoolList.size();i++){
                System.out.println((i+1)+"."+schoolList.get(i).getSname()+"    "+schoolList.get(i).getSscore());}
                chaxun();
            }
         public void detailscore(){
             System.out.println("请输入学校编号/名称");
           String schoolid=sc.next();
             System.out.println("该校的获奖情况如下:\n");
             System.out.println("队伍id 队伍名称 项目名称 得分");
            for(int i=0;i<eventScoreList.size();i++){
                if(eventScoreList.get(i).getEteamschoolid().equals(schoolid)||eventScoreList.get(i).getEteamschoolname().equals(schoolid)){
                    eventScoreList.get(i).toString1();
                }
            }
             chaxun();
        }
    public void thirdscore(){
        System.out.println("请输入项目编号——");
        String eid=sc.next();
        for(int i=0;i<eventScoreList.size();i++){
            if(eventScoreList.get(i).getEid().equals(eid)){
                new UserDao().detaitotalscore(eventScoreList.get(i).getEteamschoolid(),eventScoreList.get(i).getEscore());
            }
        }
        new UserDao().schooldetailsort(schoolList);
        System.out.println("该项目中得分前三的学校是:\n排名 学校名称  总分");
        for(int i=0;i<3;i++){
            System.out.println((i+1)+"."+schoolList.get(i).getSname()+"    "+schoolList.get(i).getScore());}
        chaxun();
    }
    }

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值