Java专业实训
项目报告
题 目: 超市管理系统
院(系): 软件学院
专业年级: 10级软件工程java工程师2班
姓 名: ***
学 号: 1015302**
指导教师: 黄 淼
20##年5 月 26 日
目录
一、项目简介... 3
1、开发背景... 3
2、关键技术... 3
二、详细设计... 4
3.1、jiemian1.java类... 4
3.2、cangku.java类... 5
3.3、cangku1.java类... 9
3.4、pandian.java类... 11
3.5、qiantai.java类... 15
3.6、进货.java. 21
3.7、下架.java. 22
3.8、新货.java、修改.java. 23
四、代码调试... 24
五、软件发布... 24
六、结论... 24
致谢... 24
参考文献... 24
1、开发背景
随着现代科学技术的迅猛发展,计算机技术已经渗透到哥哥领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对书数据库的进一步开发和利用显得尤为迫切。
作为国内自由市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。
通过对市场的调查,针对现在各中小型超市对经营业务和人事管理的实际需要,开发了这套超市管理系统。在开发过程中,我们针对当前各超市管理的特点和技术人员的实际水平,采用基于Windows图形用户界面这一易学易用的操作环境,在系统设计过程中,我们尽量采用易懂易读的人机界面,使用户可以在短期内完全掌握。
2、关键技术
SQl Server20##、java程序设计语言、java多线程机制
一、 总体设计
再设计本系统时,需要编写10个java源文件:Jshixun.java、cangku.java、cangku1.java、jiemian1.java、qiantai.java、pandian.java、进货.java、下架.java、新货.java、修改.java。各个类之间的组合关系如图:
2.1、Jshixun.java(主类)
Jshixun.java是系统主类,通过调用jiemian1.java类创建的对象来启动系统。
2.1、jiemian1.java
Jiemian1.java类是负责创建系统主界面,共包含三个菜单项,分别是:前台销售、仓库管理、安全退出。
2.3、qiantai.java
Qiantai.java类负责创建前台销售界面
2.4、cangku.java
Cangku.java负责创建管理人员进行仓库管理时的登陆界面
2.5、cangku1.java
Cangku1.java类负责创建管理人员用户名、密码验证成功后进入的管理主界面
2.6、pandian.java
Pandian.java类负责创建仓库盘点界面
2.7、进货.java
进货.java类负责创建进货后对库存进行跟新的界面
2.8、下架.java
下架.java类负责创建商品下架界面
2.9、新货.java
新货.java类负责创建新增加商品的添加界面
2.10、修改.java
修改.java类负责创建商品信息的修改界面
3.1、jiemian1.java类
3.11、效果图
Jiemian1.java类创建的窗口效果如图3-3所示。
3.12、UML图
jiemian1.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3-2所示。
3.13、代码(jiemian1.java)
(略)
3.2、cangku.java类
3.2.1效果图
Cangku.java创建的界面效果如图3—3所示。3.2.2、UML图
cangku.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3--4所示。
3.2.3、代码(cangku.java)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class cangku extends Frame implements ActionListener
{
Button b1,b2;
Label l1,l2;
TextField t1,t2;
Box basebox,box1,box2;
cangku()
{
b1=new Button("登陆");
b2=new Button("取消");
l1=new Label("用户名:");
l2=new Label("密码:");
t1=new TextField(12);
t2=new TextField(12);
t2.setEchoChar('*');
t2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println(t2.getText());
t2.setText(" ");
}});
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
});
box1=Box.createVerticalBox();
box1.add(l1);
box1.add(Box.createVerticalStrut(8));
box1.add(l2);
box1.add(Box.createVerticalStrut(8));
box1.add(b1);
box2=Box.createVerticalBox();
box2.add(t1);
box2.add(Box.createVerticalStrut(8));
box2.add(t2);
box2.add(Box.createVerticalStrut(8));
box2.add(b2);
basebox=Box.createHorizontalBox();
basebox.add(box1);
basebox.add(Box.createHorizontalStrut(8));
basebox.add(box2);
b1.addActionListener(this);
b2.addActionListener(this);
setLayout(new FlowLayout());
add(basebox);
setBounds(250,250,250,250);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
String name=t1.getText();
String psd=t2.getText();
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e1)
{
System.out.print(e1);
}
//读取数据
Connection conn=null;
Statement sta=null;
ResultSet rs=null;
try
{
//建立连接
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";
conn=DriverManager.getConnection(url,"sa","");
sta=conn.createStatement();//创建可执行对象
String sql="select count(*) from student.dbo.student1 where name='"+name+"'and password='"+psd+"'";//执行查询语句
rs = sta.executeQuery(sql);
rs.next();
int n=rs.getInt(1);
// Statement stat=conn.createStatement();
// if(rs.getString(2).equals(psd))
if(n==1)
{
cangku1 a=new cangku1();
}
else
{
System.out.println("wong");
}
}
catch(SQLException e1)
{
System.out.println(e1);
}
finally
{
//关闭资源
try
{
rs.close();
sta.close();
conn.close();
}
catch(Exception e1)
{
System.out.println(e1);
}
}
}
else if(e.getSource()==b2)
{
dispose();
}
}
}
3.3、cangku1.java类
3.3.1、效果图
Cangku1.java类创建的效果图如图3—5所示。
3.3.2、UML图
Cangku1.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3--6所示。
3.3.3代码(cangku1.java)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class cangku1 extends Frame implements ActionListener
{
Button b1,b2,b3,b4,b5;
Box basebox;
cangku1()
{
b1=new Button("库存盘点");
b2=new Button("进货订单");
b3=new Button("货物下架");
b4=new Button("新增商品");
b5=new Button("修改售价");
basebox=Box.createVerticalBox();
basebox.add(b1);
basebox.add(Box.createVerticalStrut(8));
basebox.add(b2);
basebox.add(Box.createVerticalStrut(8));
basebox.add(b3);
basebox.add(Box.createVerticalStrut(8));
basebox.add(b4);
basebox.add(Box.createVerticalStrut(8));
basebox.add(b5);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
b5.addActionListener(this);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
//System.exit(0);
dispose();
}
});
setLayout(new FlowLayout());
add(basebox);
setBounds(250,250,250,250);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
pandian a=new pandian();
}
else if(e.getSource()==b2)
{
进货 a=new 进货();
}
else if(e.getSource()==b3)
{
下架 a=new 下架();
}
else if(e.getSource()==b4)
{
新货 a=new 新货();
}
else if(e.getSource()==b5)
{
修改 a=new 修改();
}
}
}
3.4、pandian.java类
3.4.1、效果图
Pandian.java类创建的界面效果如图3—7所示。
3.4.2、UML图
pandian.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3--8所示。
3.4.3、代码(pandian.java)
import java.awt.*;
import java.sql.*;
import javax.swing.*;
import java.awt.event.*;
public class pandian extends Frame
{
TextArea t3;
Label t2,t1,t4;
Box box1,box2;
public pandian()
{
float zongjinjia=0,zongshoujia=0,jinjia,shoujia;
int zongliang =0,kucun;
String shangpin,changshang;
t1=new Label();
t2=new Label();
t3=new TextArea(10,100);
t4=new Label();
box1=Box.createVerticalBox();
box2=Box.createHorizontalBox();
box2.add(t1);
box2.add(Box.createHorizontalStrut(8));
box2.add(t2);
box2.add(Box.createHorizontalStrut(8));
box2.add(t4);
box1.add(t3);
box1.add(Box.createVerticalStrut(8));
box1.add(box2);
add(box1);
Connection conn=null;
Statement sta=null;
ResultSet rs=null;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e1)
{
System.out.print(e1);
}
try
{
//建立连接
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";
conn=DriverManager.getConnection(url,"sa","");
sta=conn.createStatement();//创建可执行对象
String sql="select * from student.dbo.qingdan";//执行查询语句
rs = sta.executeQuery(sql);
// rs.next();
while(rs.next())
{
shangpin=rs.getString(1);
changshang=rs.getString(2);
kucun=rs.getInt(3);
jinjia=rs.getFloat(4);
shoujia=rs.getFloat(5);
zongliang=zongliang+kucun;
zongjinjia=zongjinjia+kucun*jinjia;
zongshoujia=zongshoujia+kucun*shoujia;
t3.append("商品名:"+shangpin+"\t"+"供应商:"+changshang+"\t"+"进价:"+jinjia+"\t"+"售价:"+"\t"+shoujia+"库存:"+kucun+"\n");
}
float lirun=zongshoujia-zongjinjia;
t1.setText("库存:"+zongliang);
t2.setText("成本:"+zongjinjia);
t4.setText("利润:"+lirun);
}
catch(SQLException e1)
{
System.out.println(e1);
}
finally
{
//关闭资源
try
{
rs.close();
sta.close();
conn.close();
}
catch(Exception e1)
{
System.out.println(e1);
}
}
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
});
setLayout(new FlowLayout());
setBounds(250,600,600,250);
setVisible(true);
}
}
3.5、qiantai.java类
3.5.1、效果图
Pandian.java类创建的界面效果如图3—9(1、2)所示。
3.5.2、UML图
qiantai.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3--10所示。
3.5.3、代码(qiantai.java)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.util.*;
import javax.swing.event.*;
import java.io.*;
import java.net.*;
import java.applet.*;
import java.sql.*;
public class qiantai extends Frame implements ActionListener
{
Button b1,b2,b3;
TextField t1,t2,t3,t4;
TextArea t6;
Label l1,l2,l3,l4,l5;
Box box1,box2,basebox;
String shangpinming;
int i=0,t=0;
int zongliang=0;
float zongjia=0;
public qiantai()
{
b1=new Button("确定");
b2=new Button("重置");
b3=new Button("结算");
l1=new Label("商品名");
l2=new Label("数量");
l3=new Label("总件数");
l4=new Label("消费总额");
l5=new Label();
t1=new TextField(10);
t2=new TextField(10);
t3=new TextField(10);
t4=new TextField(10);
t6=new TextArea(6,10);
box1=Box.createHorizontalBox();
box1.add(l1);
box1.add(Box.createHorizontalStrut(8));
box1.add(t1);
box1.add(Box.createHorizontalStrut(8));
box1.add(l2);
box1.add(Box.createHorizontalStrut(8));
box1.add(t2);
box1.add(Box.createHorizontalStrut(8));
box1.add(b1);
box1.add(Box.createHorizontalStrut(8));
box1.add(b2);
box2=Box.createHorizontalBox();
box2.add(l3);
box2.add(Box.createHorizontalStrut(8));
box2.add(t3);
box2.add(Box.createHorizontalStrut(8));
box2.add(l4);
box2.add(Box.createHorizontalStrut(8));
box2.add(t4);
box2.add(Box.createHorizontalStrut(8));
box2.add(b3);
basebox=Box.createVerticalBox();
basebox.add(t6);
basebox.add(Box.createVerticalStrut(8));
basebox.add(box1);
basebox.add(Box.createVerticalStrut(8));
basebox.add(box2);
basebox.add(Box.createVerticalStrut(8));
basebox.add(l5);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
});
setLayout(new FlowLayout());
add(basebox);
setBounds(500,250,500,250);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
float shoujia;
int shuliang;
shangpinming=t1.getText();
String s=t2.getText();
shuliang=Integer.parseInt(s);
Connection conn=null;
Statement sta=null;
ResultSet rs=null;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e1)
{
System.out.print(e1);
}
try
{
//建立连接
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";
conn=DriverManager.getConnection(url,"sa","");
sta=conn.createStatement();//创建可执行对象
String sql="select * from student.dbo.qingdan where 商品名='"+shangpinming+"'";//执行查询语句
rs = sta.executeQuery(sql);
rs.next();
shoujia=rs.getFloat(4);
float sum=shoujia*shuliang;
{
t6.append("商品名:"+shangpinming+" ");
t6.append("单价:"+shoujia+" ");
t6.append("数量:"+shuliang+" ");
t6.append("金额:"+sum+"\n");
t1.setText("");
t2.setText("");
zongliang=zongliang+shuliang;
zongjia=zongjia+sum;
String s2=Float.toString(zongliang);
String s3=Float.toString(zongjia);
t3.setText(s2);
t4.setText(s3);
}
}
catch(SQLException e1)
{
System.out.println(e1);
}
finally
{
//关闭资源
try
{
rs.close();
sta.close();
conn.close();
}
catch(Exception e1)
{
System.out.println(e1);
}
}
}
else if(e.getSource()==b2)
{
t1.setText("");
t2.setText("");
t3.setText("");
t4.setText("");
}
else if(e.getSource()==b3)
{
l5.setText("交易成功!");
t1.setText("");
t2.setText("");
t3.setText("");
t4.setText("");
t6.setText("");
i=0;
t=0;
}
}
}
3.6、进货.java
3.6.1、效果图
进货.java类创建的界面效果如图3—11所示
3.6.2、UML图
进货.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3--12所示。
3.6.3、代码(进货.java)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
public class 进货 extends Frame implements ActionListener
{
Label l1,l2,l3;
TextField t1,t2;
Button b1,b2;
Box box1,box2,box3,box4,basebox;
public 进货()
{
l1=new Label("商品名");
l2=new Label("数 量");
l3=new Label();
t1=new TextField(10);
t2=new TextField(10);
b1=new Button("确定");
b2=new Button("重置");
box1=Box.createHorizontalBox();
box1.add(l1);
box1.add(Box.createHorizontalStrut(8));
box1.add(t1);
box2=Box.createHorizontalBox();
box2.add(l2);
box2.add(Box.createHorizontalStrut(8));
box2.add(t2);
box3=Box.createHorizontalBox();
box3.add(b1);
box3.add(Box.createHorizontalStrut(8));
box3.add(b2);
basebox=Box.createVerticalBox();
basebox.add(box1);
basebox.add(Box.createVerticalStrut(8));
basebox.add(box2);
basebox.add(Box.createVerticalStrut(8));
basebox.add(box3);
basebox.add(Box.createVerticalStrut(8));
basebox.add(l3);
b1.addActionListener(this);
b2.addActionListener(this);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
});
setLayout(new FlowLayout());
add(basebox);
setBounds(500,250,500,250);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
String shangpinming;
int shuliang;
shangpinming=t1.getText();
String s=t2.getText();
shuliang=Integer.parseInt(s);
Connection conn=null;
Statement sta=null;
ResultSet rs=null;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e1)
{
System.out.print(e1);
}
try
{
//建立连接
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";
conn=DriverManager.getConnection(url,"sa","");
sta=conn.createStatement();//创建可执行对象
String sql="select * from student.dbo.qingdan where 商品名='"+shangpinming+"'";//执行查询语句
rs = sta.executeQuery(sql);
rs.next();
int l=rs.getInt(5);
shuliang=shuliang+l;
int rst2=sta.executeUpdate("update student.dbo.qingdan set 库存='"+shuliang+"' where 商品名='"+shangpinming+"'");
l3.setText("进货成功");
}
catch(SQLException e1)
{
System.out.println(e1);
l3.setText("进货失败");
}
finally
{
//关闭资源
try
{
rs.close();
sta.close();
conn.close();
}
catch(Exception e1)
{
System.out.println(e1);
}
}
}
else if(e.getSource()==b2)
{
t1.setText("");
t2.setText("");
}
}
}
3.7、下架.java
3.7.1、效果图
下架.java类创建的界面效果如图3—13所示
3.7.2、UML图
下架.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3—14 所示。
3.7.3、代码(下架.java)
import java.awt.*;
import java.sql.*;
import javax.swing.*;
import java.awt.event.*;
public class 下架 extends Frame implements ActionListener
{
TextField t1;
TextArea t2;
Label l1=new Label("商品名");
Button b1,b2,b3;
Box box1,box2,box3;
public 下架()
{
b1=new Button("查询");
b2=new Button("确定下架");
b3=new Button("取消");
t1=new TextField(10);
t2=new TextArea();
box1=Box.createHorizontalBox();
box2=Box.createHorizontalBox();
box3=Box.createVerticalBox();
box1.add(l1);
box1.add(Box.createHorizontalStrut(4));
box1.add(t1);
box1.add(Box.createHorizontalStrut(8));
box1.add(b1);
box2.add(b2);
box2.add(Box.createHorizontalStrut(8));
box2.add(b3);
box3.add(box1);
box3.add(Box.createVerticalStrut(8));
box3.add(t2);
box3.add(Box.createVerticalStrut(8));
box3.add(box2);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
});
setLayout(new FlowLayout());
add(box3);
setBounds(500,280,500,280);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
String shangpinming=t1.getText();
Connection conn=null;
Statement sta=null;
ResultSet rs=null;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e1)
{
System.out.print(e1);
}
try
{
//建立连接
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";
conn=DriverManager.getConnection(url,"sa","");
sta=conn.createStatement();//创建可执行对象
String sql="select * from student.dbo.qingdan where 商品名='"+shangpinming+"'";//执行查询语句
rs = sta.executeQuery(sql);
rs.next();
t2.append("商品名:"+rs.getString(1)+"供应商:"+rs.getString(2)+"进价:"+rs.getString(3)+"售价:"+rs.getString(4)+"库存:"+rs.getString(5));
}
catch(SQLException e1)
{
System.out.println(e1);
}
finally
{
//关闭资源
try
{
rs.close();
sta.close();
conn.close();
}
catch(Exception e1)
{
System.out.println(e1);
}
}
}
else if(e.getSource()==b2)
{
String name1=t1.getText();
Connection conn=null;
Statement sta=null;
ResultSet rs=null;
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException e1)
{
System.out.print(e1);
}
try
{
//建立连接
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";
conn=DriverManager.getConnection(url,"sa","");
sta=conn.createStatement();//创建可执行对象
//String sql="select count(*) from student.dbo.qingdan where name='"+shangpinming+"'";//执行查询语句
//rs = sta.executeQuery(sql);
//rs.next();
int rst= sta.executeUpdate("delete student.dbo.qingdan where 商品名='"+name1+"'");
t2.setText("下架成功!");
}
catch(SQLException e1)
{
System.out.println(e1);
}
finally
{
//关闭资源
try
{
rs.close();
sta.close();
conn.close();
}
catch(Exception e1)
{
System.out.println(e1);
}
}
}
else if(e.getSource()==b3)
{
dispose();
}
}
}
3.8、新货.java、修改.java
效果图
新货.java类、修改.java创建的界面效果如图3—15(1、2)所示
图3—15(1)1)
图3—15(2)
将3.1~3.8中各个类置于同一目录下进行编译、链接、运行。
使用jar.exe命令制作JAR文件来发布编写的软件。
在本系统的开发过程中,由于是初次开发这么大的软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对开发软件的整个流程不够熟悉。尽管此软件存在着很多不足,但其基本功能已经实现。通过开发这个系统,掌握了的项目基本开发过程,学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。
从接受课题到现在完成设计论文,衷心的感谢指导老师黄淼老师给予了精心的指导和热情的帮助,老师提出许多宝贵的设计意见,这样使得我得以顺利的完成设计开发工作,老师渊博的知识、敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益,谨此向老师表示衷心的感谢和崇高的敬意!
Java 2 使用教程
Java 课程设计
SQL Server2000基础教程
石家庄学院习报告王荣传20xx0502027数学与信息科学系信息与计算科学专业本科一班崔永刚讲师姓名:学号:院系:专业:班级:指导…
Java程序设计实训报告实训名称图书管理系统实训专业计算机应用技术班级学号090443220姓名高宇国指导教师侯丽敏20xx年12…
摘要随着自动化技术的不断发展电子产业对工艺生产的要求越来越高本次实训主要熟悉手工焊锡的常用工具的使用及其与修理手工电烙铁的焊接技术…
辽宁建筑职业学院Java高级应用实训报告课题名称婚庆公司网站专业软件技术班级xxxxxxxxxx学号姓名xxxx指导教师xxx二O…
PINGDINGSHANUNIVERSITYJava专业实训项目报告题目超市管理系统院系软件学院专业年级10级软件工程java工程…
实训报告书课程:Java项目实训专业班级:学生姓名:学号:指导教师:完成日期:重庆电子工程职业学院软件学院目录目录........…
JavaWeb实习报告一、实习目的与任务为了锻炼我们的实践动手能力,提高我们分析问题、解决问题的能力,培养我们的工作意识和团队合作…
辽宁建筑职业学院Java高级应用实训报告课题名称婚庆公司网站专业软件技术班级xxxxxxxxxx学号姓名xxxx指导教师xxx二O…
徐州工程学院管理学院实验报告实验课程名称数据结构与算法实验地点经济管理教学实验中心20xx年3月至20xx年6月专业信息管理与信息…
Java程序设计实训报告实训名称图书管理系统实训专业计算机应用技术班级学号090443220姓名高宇国指导教师侯丽敏20xx年12…
实训报告一、实训目的1、掌握java语言的基础压法和相关工具的使用2、掌握java语言开发系统的方法和能力3、能够综合利用所学的知…