序言
本程序定义一个球队类,每个球队是均是此类的对象。由于联赛中参赛的队伍数是固定的,因此可用对象数组来实现(当然也可以用链表结构)。每输入两个队的比赛成绩,则相应的队的有关数据(比赛场数,赢的场数,平的场数,负的场数,进球数,失球数,积分等)即可进行修改,比赛成绩录入完成,调用联赛排序方法(对象数组作为参数)排出名次并输出。如果成功进入足球联赛积分管理界面,以后你可以选择显示球队,此时可以查阅排名,也可以输入比赛结果,修改球队积分,录入球队积分,查询比赛积分;球队信息的添加、删除、修改和查询。
该项目用Java语言编写,用Eclipse作为开发工具,后台数据库采用SQL Server 2008.本系统在设计上有所侧重,更加强调信息的完整性和查询功能,娱乐性较小,对界面要求不太高,整个界面相对朴实。而对于操作设计从人性化着手,方便管理人员的操作。
摘要
该项目用于对一个年度的足球联赛的各种信息进行管理,通过制作的专门界面,可以对球队信息、积分统计信息进行管理。球队信息的管理:包括球队信息的添加、删除、修改和查询;球队积分信息管理:包括球队积分的录入、查询、修改、删除等。该项目用Java语言编写,用Eclipse作为开发工具,后台数据库采用SQL Server 2008.
本文详细介绍了足球联赛分数统计程序的设计与实现该程序具有足球赛成绩的输入,统计与输出等功能。
关键字:足球联赛积分统计球队管理数据库
正文
1、系统分析与设计
系统分析
设计要求:(1)完成球队,球员信息的添加、删除、查找、修改功能
(2)使用用户界面操作
(3)使用数据库形式完成
设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。该项目用于对一个足球联赛的各种信息进行管理,通过制作的专门界面,可以对球队、球员、比赛情况、各种统计信息进行管理。球队的管理:包括球队信息的添加、删除、修改和查询;积分管理:按照联赛的积分规则查询各个球队的积分。
主界面设计
首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。功能实现:在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。
功能模块划分如下:
图 1 主界面结构图
各模块的结构图
系统功能模块图展示了该系统的模块划分,是系统总体功能的初步分析概括。管理员登录后,可以在主控界面查看统计分析信息,使用帮助信息,通过查看使用帮助信息可以了解系统操作的注意事项以及一些具体操作的使用说明,熟悉系统的操作规范后,管理员可以对球队及球队积分进行管理。
图2 各模块结构图
2、详细设计
主界面类的定义
(1
表2-1 主要成员变量表类Database
表2-2 主要成员变量
(2)方法见表2-3:
表2-3 主要方法
各模块主要代码
(1)主界面:
package Stu;
import .*;
import .*;
import .*;
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;
;
import .*;
;
/**
* 连接数据库的类
*/
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 Exception{
try{
("");
ct=("jdbc:odbc:scmanage");
}
catch(Exception e){
"OpenConn:"+());
}
}
/**
* 执行SQL查询语句,返回结果集RS */
public ResultSet executeQuery(String sql){ st = null;
rs=null;
try{
st=,;
rs=(sql);
}
catch(SQLException e){
"executeQuery:"+());
}
return rs;
}
/**
* 执行SQL更新语句
*/
public void executeUpdate(String sql){ st=null;
rs=null;
try{
st=,;
(sql);
();
}
catch(SQLException e){
"executeUpdate:"+());
}
}
public void closeStmt(){
try{
();
}
catch(SQLException e){
"closeStmt:"+());
}
}
/**
* 关闭数据库连接
*/
public void closeConn(){
try{
();
}
catch(SQLException ex){
":"+());
}
}
public static String toGBK(String str){
try {
if(str==null)
str = "";
else
str=new String("ISO-8859-1"),"GBK");
}
catch (Exception e) {
return str;
}
}
(2)数据库操作的类
package Stu;
import .*;
import .*;
//有关球队信息数据库操作的类
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();
= num;
= name;
if(sNum == null||("")){
(null, "请输入球队号!", "错误", ;
return;
}
else if(sName == null||("")){
(null, "请输入球队名!", "错误", ;
return;
}
else{
sql = "insert into Team(snum,sname) values
('"+sNum+"','"+sName+"')";//,'"+sSex+"','"+sGrade+"','"+sMajor+"','"+sBirth+"')";
try{
();
(sql);
(null,"成功添加一条新的纪录!");
}
catch(Exception e){
(null, "保存失败", "错误", ;
}
finally {
();
();
}
}
}
// 修改球队信息
public void stuModify(String num, String name){
Database DB = new Database();
= num;
= name;
sql = "update Team set snum = '"+sNum+"',sname = '"+sName+"' where snum = "+(sNum)+"";
try{
();
(sql);
(null,"成功修改一条新的纪录!");
}
catch(Exception e){
(null, "更新失败", "错误", ;
}
finally {
();
();
}
}
//删除球队信息
public void stuDel(String num){
Database DB = new Database();
= num;
sql = "delete from Team where snum = "+(sNum)+"";
try{
();
(sql);
(null,"成功删除一纪录!");
}
catch(Exception e){
(null, "删除失败", "错误", ;
}
finally {
();
();
}
}
// 根据球队号查询球队信息
public String[] stuSearch(String num){
Database DB = new Database();
= num;
String[] s = new String[5];
if(sNum == null||("")){
(null, "请输入球队号!", "错误", ;
}
sql = "select * from Team where snum = "+(sNum)+"";
try{
();
rs = (sql);
if()){
s[0] = ("sname");
}
else{
s = null;
}
}
catch(Exception e){}
finally {
();
();
}
return s;
}
// 修改球队积分信息
public void stuModify1(String num, String score){
Database DB = new Database();
= num;
= score;
sql = "update Team set snum = '"+sNum+"',score = '"+sScore+"' where snum = "+(sNum)+"";
try{
();
(sql);
(null,"成功修改一条新的纪录!");
}
catch(Exception e){
(null, "更新失败", "错误", ;
}
finally {
();
();
}
}
//根据球队号查询球队积分信息
public String[] stuSearch1(String num){
Database DB = new Database();
= num;
String[] s = new String[5];
if(sNum == null||("")){
(null, "请输入球队号!", "错误", ;
}
sql = "select * from Team where snum = "+(sNum)+"";
try{
();
rs = (sql);
if()){
s[0] = ("score");
}
else{
s = null;
}
}
catch(Exception e){}
finally {
();
();
}
return s;
}
//删除积分信息
public void stuDel1(String num){
Database DB = new Database();
= num;
sql = "delete from Team where snum = "+(sNum)+"";
try{
();
(sql);
(null,"成功删除一纪录!");
}
catch(Exception e){
(null, "删除失败", "错误", ;
}
finally {
();
();
}
}
//添加球队积分信息
public void stuAdd1(String num, String score)
{
Database DB = new Database();
= num;
= score;
if(sNum == null||("")){
(null, "请输入球队号!", "错误", ;
return;
}
else if(sScore == null||("")){
(null, "请输入球队积分!", "错误", ;
return;
}
else{
sql = "insert into Team(snum,score) values ('"+sNum+"','"+sScore+"')";
try{
();
(sql);
(null,"成功添加一条新的纪录!");
}
catch(Exception e){
(null, "保存失败", "错误", ;
}
finally {
();
();
}
}
}
}