版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、序 言本程序定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。如果成功进入足球联赛积分管理界面,以后你可以选择显示球队,此时可以查阅排名,也可以输入比赛结果,修改球队积分,录入球队积分,查询比赛积分;球队信息的添加、删除、修改和查询。该项目用java语言编写,用eclipse作为开发工具,后台数据库采用sql server 2008
2、.本系统在设计上有所侧重,更加强调信息的完整性和查询功能,娱乐性较小,对界面要求不太高,整个界面相对朴实。而对于操作设计从人性化着手,方便管理人员的操作。摘 要该项目用于对一个年度的足球联赛的各种信息进行管理,通过制作的专门界面,可以对球队信息、积分统计信息进行管理。球队信息的管理:包括球队信息的添加、删除、修改和查询;球队积分信息管理:包括球队积分的录入、查询、修改、删除等。该项目用java语言编写,用eclipse作为开发工具,后台数据库采用sql server 2008.本文详细介绍了足球联赛分数统计程序的设计与实现该程序具有足球赛成绩的输入,统计与输出等功能。关键字:足球联赛 积分统计
3、 球队管理 数据库31 正 文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 主
6、要成员变量表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更新语句无closes
7、tmt无类型关闭当前的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
8、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 itemdele
9、te;/建立“积分管理”菜单组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 = new jme
11、nuitem(删除积分记录);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);
12、/ 添加“积分管理”菜单项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.sethorizontaltextposit
13、ion(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(th
14、is);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 = ne
15、w 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(足球联
16、赛积分管理系统!);/设置窗口名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(windoweven
17、t 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_o
18、ption);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(pcen
19、ter, 录入界面); /修改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.sh
20、ow(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) ne
21、w 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(
22、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+,+s
23、grade+,+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(stri
24、ng 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);
25、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);joptio
26、npane.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
27、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.clo
28、sestmt();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.s
29、howmessagedialog(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 str
30、ing5;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.closes
31、tmt();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);jo
32、ptionpane.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, 请输入球队号!
33、, 错误, 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,成
34、功添加一条新的纪录!);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 积分
35、管理菜单(4)球队录入界面如下图所示: 图3-4 球队录入界面(5)球队删除如下图所示: 图 3-5 球队删除(6)积分查询如下图所示: 图 3-6 积分查询(7)积分录入如下图所示: 图3-7 积分录入(8)积分修改界面如下图所示: 图 3-8 积分修改界面(9)系统管理界面如下图所示: 图 3-9 系统管理界面4、 软件使用说明书为了很好的管理足球联赛中球队的信息与各球队积分信息,设计了此足球联赛积分管理系统。该系统的使用说明如下:(1)此系统有三个界面:一 系统管理界面;二 球队管理界面;三 积分管理界面;(2)进入系统后可以在以上三个选项中选择你所需要的的操作。(3)三个模块又由几个不
36、同的小模块组成,根据需要选择相应的操作。(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
37、 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_scro
38、ll_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_onl
39、y);st.executequery(sql);mit();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
40、.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
41、;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 =
42、 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(exce
43、ption 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+,snam
44、e = +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();/删除球队信息 pub
45、lic 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, 删除失败, 错
46、误, 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.closecon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商务合同范本
- 两人股份合作合同范本
- 中药材种苗购销合同
- 目标决定未来
- 房屋买卖合同协议书26609
- 房产买卖中介合同
- 吊篮设备租赁合同书
- 中级财务会计案例讲课教案
- 风电项目主吊车装拆方案
- 基于CiteSpace的AED配置国内外研究现状与进展的可视化分析
- 中学安全办2024-2025学年工作计划
- 2024年山东省东营市中考数学试题 (解析版)
- 2024年陕西西安亮丽电力集团有限责任公司招聘笔试冲刺题(带答案解析)
- 2024年乡村振兴(产业、文化、生态)等实施战略知识考试题库与答案
- 网络安全基础知识入门教程
- AI智慧物流园区整体建设方案
- 2024年辽宁铁道职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 无痛人工流产术课件
- 心力衰竭业务学习护理课件
- 美发学徒助理职业规划书
- 法医病理学课件
评论
0/150
提交评论