足球联赛积分管理系统设计与实现(含代码).doc

上传人:最*** 文档编号:1613525 上传时间:2019-10-30 格式:DOC 页数:32 大小:379.50KB
返回 下载 相关 举报
足球联赛积分管理系统设计与实现(含代码).doc_第1页
第1页 / 共32页
足球联赛积分管理系统设计与实现(含代码).doc_第2页
第2页 / 共32页
足球联赛积分管理系统设计与实现(含代码).doc_第3页
第3页 / 共32页
点击查看更多>>
资源描述
序 言本程序定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。如果成功进入足球联赛积分管理界面,以后你可以选择显示球队,此时可以查阅排名,也可以输入比赛结果,修改球队积分,录入球队积分,查询比赛积分;球队信息的添加、删除、修改和查询。该项目用Java语言编写,用Eclipse作为开发工具,后台数据库采用SQL Server 2008.本系统在设计上有所侧重,更加强调信息的完整性和查询功能,娱乐性较小,对界面要求不太高,整个界面相对朴实。而对于操作设计从人性化着手,方便管理人员的操作。摘 要该项目用于对一个年度的足球联赛的各种信息进行管理,通过制作的专门界面,可以对球队信息、积分统计信息进行管理。球队信息的管理:包括球队信息的添加、删除、修改和查询;球队积分信息管理:包括球队积分的录入、查询、修改、删除等。该项目用Java语言编写,用Eclipse作为开发工具,后台数据库采用SQL Server 2008.本文详细介绍了足球联赛分数统计程序的设计与实现该程序具有足球赛成绩的输入,统计与输出等功能。关键字:足球联赛 积分统计 球队管理 数据库31 正 文1、系统分析与设计1.1 系统分析设计要求:(1)完成球队,球员信息的添加、删除、查找、修改功能(2)使用用户界面操作(3)使用数据库形式完成设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。该项目用于对一个足球联赛的各种信息进行管理,通过制作的专门界面,可以对球队、球员、比赛情况、各种统计信息进行管理。球队的管理:包括球队信息的添加、删除、修改和查询;积分管理:按照联赛的积分规则查询各个球队的积分。1.2 主界面设计首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。功能实现:在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。功能模块划分如下: 图 1 主界面结构图1.3各模块的结构图系统功能模块图展示了该系统的模块划分,是系统总体功能的初步分析概括。管理员登录后,可以在主控界面查看统计分析信息,使用帮助信息,通过查看使用帮助信息可以了解系统操作的注意事项以及一些具体操作的使用说明,熟悉系统的操作规范后,管理员可以对球队及球队积分进行管理。主窗体球队管理积分管理添加球队查询球队修改球队删除球队积分查询 积分录入积分修改积分删除系统管理欢迎界面 退出 图 2 各模块结构图2、详细设计2.1 主界面类的定义(1)成员变量见表2-1:成员变量描述变量类型名称面板InputTeamins面板ModifyTeammos面板DeleteTeamdes面板QueryTeamqus菜单栏JButtonBarbar菜单组JMenumenuSystem menuStu菜单项JMenuItemitemWel itemExit itemSearch itemAdd itemEdit itemDelete布局管理器CardLayoutcard表2-1 主要成员变量表2.2类Database(1)成员变量见表2-2:成员变量描述变量类型名称执行SQL语句的接口Statementstmt返回结果的接口ResultSetrs数据库连接接口Connectionconn字符串(SQL语句、驱动)Stringsql strurl表2-2 主要成员变量(2)方法见表2-3:方法名称返回类型功能备注Database无类型创建Database对象构造方法OpenConn无类型打开数据库连接无executeQueryResultSet执行SQL查询语句,返回结果集RS返回ResultSet类型结果集executeUpdate无类型执行SQL更新语句无closeStmt无类型关闭当前的Statement对象无closeConn无类型关闭数据库连接无表2-3 主要方法2.3 各模块主要代码(1)主界面:package Stu;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class MainWindow extends JFrame implements ActionListener private static final long serialVersionUID = 1L;/* * 主窗口的初始化 */InputTeam ins;ModifyTeam mos;QueryTeam qus;DeleteTeam des;InputScore isc;DeleteScore dsc;QueryScore qsc;ModifyScore msc;/ 建立菜单栏JMenuBar bar;/ 建立“系统管理”菜单组JMenu menuSystem;JMenuItem itemExit;JMenuItem itemWel;/ 建立“球队管理”菜单组JMenu menuStu;JMenuItem itemSearch;JMenuItem itemAdd;JMenuItem itemEdit;JMenuItem itemDelete;/建立“积分管理”菜单组JMenu menuStu1;JMenuItem itemSearch1;JMenuItem itemAdd1;JMenuItem itemDelete1;JMenuItem itemEdit1;File file = null;CardLayout card;JLabel label = null;JPanel pCenter;public MainWindow() / 生成“系统管理”组menuSystem = new JMenu(系统管理);itemWel = new JMenuItem(欢迎界面);itemExit = new JMenuItem(退出);/ 生成“球队管理”组menuStu = new JMenu(球队管理);itemAdd = new JMenuItem(录入球队信息);itemSearch = new JMenuItem(查询球队信息);itemEdit = new JMenuItem(修改球队信息);itemDelete = new JMenuItem(删除球队记录);/ 生成“积分管理”组menuStu1 = new JMenu(积分管理);itemAdd1 = new JMenuItem(录入积分信息);itemSearch1 = new JMenuItem(查询积分信息);itemDelete1 = new JMenuItem(删除积分记录);itemEdit1 = new JMenuItem(修改积分信息);/ 添加所有菜单组bar = new JMenuBar();bar.add(menuSystem);bar.add(menuStu);bar.add(menuStu1);/ 添加“系统管理”菜单项menuSystem.add(itemWel);menuSystem.add(itemExit);/ 添加“球队管理”菜单项menuStu.add(itemAdd);menuStu.add(itemSearch);menuStu.add(itemEdit);menuStu.add(itemDelete);/ 添加“积分管理”菜单项menuStu1.add(itemAdd1);menuStu1.add(itemSearch1);menuStu1.add(itemDelete1);menuStu1.add(itemEdit1);setJMenuBar(bar);/ 设置主窗口label = new JLabel(足球联赛积分管理系统, JLabel.CENTER);label.setIcon(new ImageIcon(images/welcome.jpg);label.setFont(new Font(黑体, Font.BOLD, 30);label.setHorizontalTextPosition(SwingConstants.CENTER);/ 添加事件监听itemExit.addActionListener(this);itemWel.addActionListener(this);itemAdd.addActionListener(this);itemSearch.addActionListener(this);itemEdit.addActionListener(this);itemDelete.addActionListener(this);itemAdd1.addActionListener(this);itemSearch1.addActionListener(this);itemDelete1.addActionListener(this);itemEdit1.addActionListener(this);/ 卡片布局管理器设置card = new CardLayout();pCenter = new JPanel();pCenter.setLayout(card);ins = new InputTeam();mos = new ModifyTeam();qus = new QueryTeam();des = new DeleteTeam();isc = new InputScore();qsc = new QueryScore();dsc = new DeleteScore();msc = new ModifyScore();pCenter.add(欢迎界面,label);pCenter.add(录入界面, ins);pCenter.add(查询界面,qus);pCenter.add(修改界面, mos);pCenter.add(删除界面, des);pCenter.add(录入积分界面, isc);pCenter.add(查询积分界面,qsc);pCenter.add(删除积分界面, dsc);pCenter.add(修改积分界面, msc);add(pCenter, BorderLayout.CENTER);setTitle(足球联赛积分管理系统!);/设置窗口名ImageIcon icon = new ImageIcon(images/icon.jpg);/设置最小化图标setIconImage(icon.getImage();validate();setVisible(true);setBounds(250, 200,440, 390);/ 关闭窗口setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) int n = JOptionPane.showConfirmDialog(null, 确认退出吗?, 确认对话框,JOptionPane.YES_NO_OPTION);if (n = JOptionPane.YES_OPTION)System.exit(0););/ 事件处理public void actionPerformed(ActionEvent e) /返回欢迎界面if(e.getSource() = itemWel)int ok = JOptionPane.showConfirmDialog(this, 确认返回吗?, 确认对话框,JOptionPane.YES_NO_OPTION);if (ok = JOptionPane.YES_OPTION)card.show(pCenter,欢迎界面);/退出else if (e.getSource() = itemExit) int n = JOptionPane.showConfirmDialog(this, 确认退出吗?, 确认对话框,JOptionPane.YES_NO_OPTION);if (n = JOptionPane.YES_OPTION)System.exit(0); /录入else if (e.getSource() = itemAdd) ins.clearMess();card.show(pCenter, 录入界面); /修改else if (e.getSource() = itemEdit) mos.clearMess();card.show(pCenter, 修改界面);/查询else if (e.getSource() = itemSearch) qus.clearMess();card.show(pCenter,查询界面); /删除else if (e.getSource() = itemDelete) card.show(pCenter, 删除界面);/积分录入else if (e.getSource() = itemAdd1) ins.clearMess();card.show(pCenter, 录入积分界面); /积分修改else if (e.getSource() = itemEdit1) mos.clearMess();card.show(pCenter, 修改积分界面);/积分删除else if (e.getSource() = itemDelete1) card.show(pCenter, 删除积分界面);/积分查询else if (e.getSource() = itemSearch1) qus.clearMess();card.show(pCenter,查询积分界面); public static void main(String args) new MainWindow();(2)连接数据库代码:package Stu;import java.sql.*;import javax.swing.*;/有关球队信息数据库操作的类public class TeamBean String sql;ResultSet rs = null;String sNum;String sName;String sScore;/添加球队信息 public void stuAdd(String num, String name)Database DB = new Database();this.sNum = num;this.sName = name;if(sNum = null|sNum.equals()JOptionPane.showMessageDialog(null, 请输入球队号!, 错误, JOptionPane.ERROR_MESSAGE);return;else if(sName = null|sName.equals()JOptionPane.showMessageDialog(null, 请输入球队名!, 错误, JOptionPane.ERROR_MESSAGE);return;elsesql = insert into Team(snum,sname) values (+sNum+,+sName+);/,+sSex+,+sGrade+,+sMajor+,+sBirth+);tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功添加一条新的纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 保存失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();/ 修改球队信息 public void stuModify(String num, String name)Database DB = new Database();this.sNum = num;this.sName = name;sql = update Team set snum = +sNum+,sname = +sName+ where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功修改一条新的纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 更新失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();/删除球队信息public void stuDel(String num)Database DB = new Database();this.sNum = num;sql = delete from Team where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功删除一纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 删除失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();/ 根据球队号查询球队信息 public String stuSearch(String num)Database DB = new Database();this.sNum = num;String s = new String5;if(sNum = null|sNum.equals()JOptionPane.showMessageDialog(null, 请输入球队号!, 错误, JOptionPane.ERROR_MESSAGE);sql = select * from Team where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();rs = DB.executeQuery(sql);if(rs.next()s0 = rs.getString(sname);elses = null;catch(Exception e)finally DB.closeStmt();DB.closeConn();return s;/ 修改球队积分信息 public void stuModify1(String num, String score)Database DB = new Database();this.sNum = num;this.sScore = score;sql = update Team set snum = +sNum+,score = +sScore+ where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功修改一条新的纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 更新失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();/根据球队号查询球队积分信息public String stuSearch1(String num)Database DB = new Database();this.sNum = num;String s = new String5;if(sNum = null|sNum.equals()JOptionPane.showMessageDialog(null, 请输入球队号!, 错误, JOptionPane.ERROR_MESSAGE);sql = select * from Team where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();rs = DB.executeQuery(sql);if(rs.next()s0 = rs.getString(score);elses = null;catch(Exception e)finally DB.closeStmt();DB.closeConn();return s;/删除积分信息public void stuDel1(String num)Database DB = new Database();this.sNum = num;sql = delete from Team where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功删除一纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 删除失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();/添加球队积分信息public void stuAdd1(String num, String score)Database DB = new Database();this.sNum = num;this.sScore = score;if(sNum = null|sNum.equals()JOptionPane.showMessageDialog(null, 请输入球队号!, 错误, JOptionPane.ERROR_MESSAGE);return;else if(sScore = null|sScore.equals()JOptionPane.showMessageDialog(null, 请输入球队积分!, 错误, JOptionPane.ERROR_MESSAGE);return;elsesql = insert into Team(snum,score) values (+sNum+,+sScore+);tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功添加一条新的纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 保存失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();3、系统测试3.1 测试环境Java语言用Eclipse作为开发工具后台数据库采用SQL Server 20083.2 测试结果(1)主界面如下图所示:图 3-1 主界面(2)球队管理菜单如下图所示: 图3-2 球队管理菜单(3)积分管理菜单如下图所示: 图 3-3 积分管理菜单(4)球队录入界面如下图所示: 图3-4 球队录入界面(5)球队删除如下图所示: 图 3-5 球队删除(6)积分查询如下图所示: 图 3-6 积分查询(7)积分录入如下图所示: 图3-7 积分录入(8)积分修改界面如下图所示: 图 3-8 积分修改界面(9)系统管理界面如下图所示: 图 3-9 系统管理界面4、 软件使用说明书为了很好的管理足球联赛中球队的信息与各球队积分信息,设计了此足球联赛积分管理系统。该系统的使用说明如下:(1)此系统有三个界面:一 系统管理界面;二 球队管理界面;三 积分管理界面;(2)进入系统后可以在以上三个选项中选择你所需要的的操作。(3)三个模块又由几个不同的小模块组成,根据需要选择相应的操作。(4)核心界面如下图所示: 附录主要程序代码(带注释):(1)连接数据库的类package Stu;import java.sql.*;/* * 连接数据库的类 */public class Database private Statement st=null;ResultSet rs=null;private Connection ct=null;String sql;String strurl=jdbc:odbc:scmanage;public Database()/* * 打开数据库连接 */public void OpenConn()throws ExceptiontryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); ct=DriverManager.getConnection(jdbc:odbc:scmanage);catch(Exception e) System.err.println(OpenConn:+e.getMessage();/* * 执行SQL查询语句,返回结果集RS */public ResultSet executeQuery(String sql)st = null;rs=null;tryst=ct.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery(sql);catch(SQLException e)System.err.println(executeQuery:+e.getMessage();return rs;/* * 执行SQL更新语句 */public void executeUpdate(String sql)st=null;rs=null;tryst=ct.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);st.executeQuery(sql);ct.commit();catch(SQLException e)System.err.println(executeUpdate:+e.getMessage(); public void closeStmt()tryst.close();catch(SQLException e)System.err.println(closeStmt:+e.getMessage(); /* * 关闭数据库连接 */public void closeConn()tryct.close();catch(SQLException ex)System.err.println(aq.closeConn:+ex.getMessage(); public static String toGBK(String str)try if(str=null)str = ;elsestr=new String(str.getBytes(ISO-8859-1),GBK); catch (Exception e) System.out.println(e);return str;(2)数据库操作的类package Stu;import java.sql.*;import javax.swing.*;/有关球队信息数据库操作的类public class TeamBean String sql;ResultSet rs = null;String sNum;String sName;String sScore;/添加球队信息 public void stuAdd(String num, String name)Database DB = new Database();this.sNum = num;this.sName = name;if(sNum = null|sNum.equals()JOptionPane.showMessageDialog(null, 请输入球队号!, 错误, JOptionPane.ERROR_MESSAGE);return;else if(sName = null|sName.equals()JOptionPane.showMessageDialog(null, 请输入球队名!, 错误, JOptionPane.ERROR_MESSAGE);return;elsesql = insert into Team(snum,sname) values (+sNum+,+sName+);/,+sSex+,+sGrade+,+sMajor+,+sBirth+);tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功添加一条新的纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 保存失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();/ 修改球队信息 public void stuModify(String num, String name)Database DB = new Database();this.sNum = num;this.sName = name;sql = update Team set snum = +sNum+,sname = +sName+ where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功修改一条新的纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 更新失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();/删除球队信息 public void stuDel(String num)Database DB = new Database();this.sNum = num;sql = delete from Team where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功删除一纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 删除失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();/ 根据球队号查询球队信息 public String stuSearch(String num)Database DB = new Database();this.sNum = num;String s = new String5;if(sNum = null|sNum.equals()JOptionPane.showMessageDialog(null, 请输入球队号!, 错误, JOptionPane.ERROR_MESSAGE);sql = select * from Team where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();rs = DB.executeQuery(sql);if(rs.next()s0 = rs.getString(sname);elses = null;catch(Exception e)finally DB.closeStmt();DB.closeConn();return s;/ 修改球队积分信息 public void stuModify1(String num, String score)Database DB = new Database();this.sNum = num;this.sScore = score;sql = update Team set snum = +sNum+,score = +sScore+ where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功修改一条新的纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 更新失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();/根据球队号查询球队积分信息public String stuSearch1(String num)Database DB = new Database();this.sNum = num;String s = new String5;if(sNum = null|sNum.equals()JOptionPane.showMessageDialog(null, 请输入球队号!, 错误, JOptionPane.ERROR_MESSAGE);sql = select * from Team where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();rs = DB.executeQuery(sql);if(rs.next()s0 = rs.getString(score);elses = null;catch(Exception e)finally DB.closeStmt();DB.closeConn();return s;/删除积分信息public void stuDel1(String num)Database DB = new Database();this.sNum = num;sql = delete from Team where snum = +Integer.parseInt(sNum)+;tryDB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,成功删除一纪录!);catch(Exception e)System.out.println(e);JOptionPane.showMessageDialog(null, 删除失败, 错误, JOptionPane.ERROR_MESSAGE); finally DB.closeStmt();DB.closeConn();/添加球队积分信息public void stuAdd1(String num, String score)Database DB = new Database();this.sNum = num;this.sScore = score;if(sNum = null|sNum.equals()JOptionPane.showMessageDialog(null, 请输入球队号!, 错误, JOptionPane.ERROR_MESSAGE);return;else if(sScore = null|sScore.equals
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板表格


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!