1、足球联赛积分管理系统设计与实现含代码序 言本程序定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。如果成功进入足球联赛积分管理界面,以后你可以选择显示球队,此时可以查阅排名,也可以输入比赛结果,修改球队积分,录入球队积分,查询比赛积分;球队信息的添加、删除、修改和查询。该项目用Java语言编写,用Eclipse作为开发工具,后台数据
2、库采用SQL Server 2008.本系统在设计上有所侧重,更加强调信息的完整性和查询功能,娱乐性较小,对界面要求不太高,整个界面相对朴实。而对于操作设计从人性化着手,方便管理人员的操作。摘 要该项目用于对一个年度的足球联赛的各种信息进行管理,通过制作的专门界面,可以对球队信息、积分统计信息进行管理。球队信息的管理:包括球队信息的添加、删除、修改和查询;球队积分信息管理:包括球队积分的录入、查询、修改、删除等。该项目用Java语言编写,用Eclipse作为开发工具,后台数据库采用SQL Server 2008.本文详细介绍了足球联赛分数统计程序的设计与实现 该程序具有足球赛成绩的输入,统计与
3、输出等功能。关键字:足球联赛 积分统计 球队管理 数据库 正 文1、系统分析与设计1.1 系统分析设计要求:(1)完成球队,球员信息的添加、删除、查找、修改功能(2)使用用户界面操作(3)使用数据库形式完成设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。该项目用于对一个足球联赛的各种信息进行管理,通过制作的专门界面,可以对球队、球员、比赛情况、各种统计信息进行管理。球队的管理:包括球队信息的添加、删除、修改和查询;积分管理:按照联赛的积分规则查询各个球队的积分。1.2 主界面设计首先设计一个容器,然后再容器中添加菜单,在菜
4、单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。功能实现:在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。功能模块划分如下: 图 1 主界面结构图1.3各模块的结构图系统功能模块图展示了该系统的模块划分,是系统总体功能的初步分析概括。管理员登录后,可以在主控界面查看统计分析信息,使用帮助信息,通过查看使用帮助信息可以了解系统操作的注意事项以及一些具体操作的使用说明,熟悉系统的操作规范后,管
5、理员可以对球队及球队积分进行管理。 图 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:成员变量描述变
6、量类型名称执行SQL语句的接口Statementstmt返回结果的接口ResultSetrs数据库连接接口Connectionconn字符串(SQL语句、驱动)Stringsql strurl表2-2 主要成员变量(2)方法见表2-3:方法名称返回类型功能备注Database无类型创建Database对象构造方法OpenConn无类型打开数据库连接无executeQueryResultSet执行SQL查询语句,返回结果集RS返回ResultSet类型结果集executeUpdate无类型执行SQL更新语句无closeStmt无类型关闭当前的Statement对象无closeConn无类型关闭数
7、据库连接无表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;
8、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; /建立“积分管理”菜单组
9、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(退出); /
10、生成“球队管理”组 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 =
11、 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); me
12、nuStu.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,
13、30); label.setHorizontalTextPosition(SwingConstants.CENTER); / 添加事件监听 itemExit.addActionListener(this); itemWel.addActionListener(this); itemAdd.addActionListener(this); itemSearch.addActionListener(this); itemEdit.addActionListener(this); itemDelete.addActionListener(this); itemAdd1.addActionListen
14、er(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(); i
15、sc = 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); pCente
16、r.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);
17、 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() = itemW
18、el) 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_
19、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() = i
20、temDelete) 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.g
21、etSource() = 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; /添
22、加球队信息 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
23、, 请输入球队名!, 错误, JOptionPane.ERROR_MESSAGE); return; else sql = insert into Team(snum,sname) values (+sNum+,+sName+);/,+sSex+,+sGrade+,+sMajor+,+sBirth+); try DB.OpenConn(); DB.executeUpdate(sql); JOptionPane.showMessageDialog(null,成功添加一条新的纪录!); catch(Exception e) System.out.println(e); JOptionPane.sh
24、owMessageDialog(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.pars
25、eInt(sNum)+; try DB.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) D
26、atabase DB = new Database(); this.sNum = num; sql = delete from Team where snum = +Integer.parseInt(sNum)+; try DB.OpenConn(); DB.executeUpdate(sql); JOptionPane.showMessageDialog(null,成功删除一纪录!); catch(Exception e) System.out.println(e); JOptionPane.showMessageDialog(null, 删除失败, 错误, JOptionPane.ERRO
27、R_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)+; try DB.OpenConn(); rs = DB.executeQuery(sql); if(rs.next() s0 = rs.getString(sname); else s = null; catch(Exception e) finally DB.closeStmt(); DB.closeConn(); return s; / 修改球队积分信息 public void stuModi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1