Java语言程序设计课程设计说明书高雷_第1页
Java语言程序设计课程设计说明书高雷_第2页
Java语言程序设计课程设计说明书高雷_第3页
Java语言程序设计课程设计说明书高雷_第4页
Java语言程序设计课程设计说明书高雷_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、山东建筑大学计算机科学与技术学院课程设计说明书题 目: 猜数字游戏、客户管理系统、图书管理系统课 程: 面向对象程序设计(Java)课程设计院 (部): 计算机科学与技术学院专 业: 网络工程班 级: 131班学生姓名: 高雷学 号: 指导教师: 邢国波完成日期: 2015-01-09目录课程设计任务书一 3课程设计任务书 6课程设计任务书三 7猜数字游戏 6一、 问题描述 6二、 基本要求 6三、类定义6 四、主要成员方法描述6 五、程序流程图 6 六、数据测试及情况8 客户管理系统10一、问题描述10二、基本要求10三、类定义10四、主要成员方法描述10五、 测试数据及情况11 六、程序流

2、程图14图书管理系统21一、 问题描述21二、基本要求21三、类定义21 四、主要成员方法描述22 五、程序流程图22六、测试数据及情况23结 论 35 参考文献36山东建筑大学计算机科学与技术学院课程设计任务书一设计题目猜数字游戏已知技术参数和设计要求从控制台获取玩家输入的数字(0到99之间的整数),如果不是数字,则抛出异常。设计内容与步骤1、定义counter变量来记录玩家猜测的次数,并直接初始化为0。2、do-while语句,对玩家的输入进行判断,接着把计数器增加1,3、do-while语句的判断:当玩家猜测的数字和随机产生的答案不同,则再次进入循环,否则便结束循环4、程序设计、实现、调

3、试5、完成课程设计说明书设计工作计划与进度安排1、设计工作4学时2、实现与调试12学时3、课程设计说明书4学时设计考核要求1、考勤20%2、课程设计说明书50%。3、答辩30%指导教师(签字): 教研室主任(签字):山东建筑大学计算机科学与技术学院课程设计任务书设计题目客户管理系统已知技术参数和设计要求1、该系统主要处理客户的相关信息2、客户信息主要包括:客户编号、客户名称、所在地区、联系方式等内容3、地区信息主要包括:编号、名称等内容4、完成以下的操作:客户信息、地区信息的录入、修改、删除和查询设计内容与步骤1、建立客户类、地区类2、客户、地区信息的初始化3、客户、地区信息的添加、修改、删除

4、、查找4、客户、地区信息的输出5、将客户信息保存为文件6、程序设计、运行、调试7、完成设计说明书设计工作计划与进度安排1、 设计工作4学时2、 实现与调试12学时3、 课程设计说明书4学时设计考核要求1、 考勤20%2、课程设计说明书50%3、答辩30%指导教师(签字): 教研室主任(签字):山东建筑大学计算机科学与技术学院课程设计任务书三设计题目图书管理系统已知技术参数和设计要求1、该系统主要处理图书馆中的图书信息以及供应商向图书馆供应图书的信息。2、图书信息主要包括:图书编号、图书名称、图书类型、作者、出版社、库存等内容。3、供应商信息主要包括:供应商编号、供应商名称、供书类型、地址、电话

5、等内容4、其中,图书类型和供书类型是都是书籍类型(如:信息类、建筑类、化学类、生物类等)设计内容与步骤1、建立书籍类型类、图书类、供应商类2、书籍类型、图书信息、供应商的初始化3、书籍类型、图书信息、供应商的添加、修改、删除、查找4、对图书信息按编号、书名排序5、将图书信息和供应商信息保存为文件6、程序设计、实现、调试7、完成课程设计说明书设计工作计划与进度安排1、设计工作4学时2、实现与调试12学时3、课程设计说明书4学时设计考核要求1、考勤20%2、课程设计说明书50%3、答辩30%指导教师(签字): 教研室主任(签字):猜数字游戏 1、 问题描述从控制台获取玩家输入的数字(0到99之间的

6、整数),如果不是数字,则抛出异常。2、 基本要求1、定义counter变量来记录玩家猜测的次数,并直接初始化为0。2、do-while语句,对玩家的输入进行判断,接着把计数器增加1,3、do-while语句的判断:当玩家猜测的数字和随机产生的答案不同,则再次进入循环,否则便结束循环4、程序设计、实现、调试5、完成课程设计说明书三、类定义Guessnumber.java图形界面,main方法4、 主要成员方法描述Main() 程序运行的主方法eventHandle()实行运算,比较所猜数字与实际数字大小5、 程序流程图提示用户所要猜的内容判断用户所的是否为数字提示用户:输入所要猜测的数字填进文本

7、框 否 是点击确定,将所填入的数字与真实数字进行比较提示用户猜测正确:猜对了! 相等所填数字是否大于真实数字再次猜测,填入比之前小的数字 是用户猜测正确,程序运行结束。 否再次猜测,填入比之前大的数字六、数据测试及情况程序运行主界面:当输入的内容不是数字时:输入数字:50猜测结果:(提示猜测数值偏大)重新输入数字:25(提示猜测数字偏大)重新输入数字:15(提示猜测数字偏大)重新输入数字:9(猜测正确)程序运行结束,退出程序。客户管理系统一、问题描述1、该系统主要处理客户的相关信息2、客户信息主要包括:客户编号、客户名称、所在地区、联系方式等内容3、地区信息主要包括:编号、名称等内容4、完成以

8、下的操作:客户信息、地区信息的录入、修改、删除和查询二、基本要求1、建立客户类、地区类2、客户、地区信息的初始化3、客户、地区信息的添加、修改、删除、查找4、客户、地区信息的输出5、将客户信息保存为文件6、程序设计、运行、调试7、完成设计说明书三、类定义CustomerManagementSystem.java;客户管理系统主界面Customer.java;客户信息Area.java;地区信息四、主要成员方法描述Run() 线程,滚动文字Last() 输入输出流,将数据输出成文件。Insert() 将数据录入到数据库Xiugai()将数据库中的信息修改为需要的信息Delete()将数据库中的信

9、息删除Search()查询数据库中的信息Main()main方法 执行程序5、 测试数据及情况系统主界面:选择【客户信息】,进入【客户信息】界面:添加【客户信息】,并将信息录入数据库数据录入成功!此时数据库中的内容:将数据库中的信息修改:数据信息已经成功修改:修改后的数据库内容信息已经成功删除:删除信息后的数据库内容:查询数据库中所存在的内容:关闭【客户信息】面板,重新回到主界面:选择【地区信息】,单击并进入,添加地区信息并录入:已成功录入:录入成功后的数据库内容:修改地区信息:修改后的数据库内容:查询数据库中已存在的内容:删除地区信息将数据信息输出为文件:(成功输出)输出的文件内容:6、 程

10、序流程图主程序界面退出系统,关闭软件。将数据信息保存为文件讲信息从数据库中永久删除。查询所需要的信息,并输出在显示区域修改要修改的内容,替换之前的信息将文本框中的文字录入到数据库中并保存修改删除查询录入填入客户的地区信息,包括: 地区编号 地区名称 讲信息从数据库中永久删除。将文本框中的文字录入到数据库中并保存查询所需要的信息,并输出在显示区域修改要修改的内容,替换之前的信息修改查询录入删除填入客户的个人信息,包括: 客户编号 客户姓名 所在地区 联系方式输出文件客户信息地区信息退出系统需求图书管理系统 1、 问题描述1、该系统主要处理图书馆中的图书信息以及供应商向图书馆供应图书的信息。2、图

11、书信息主要包括:图书编号、图书名称、图书类型、作者、出版社、库存等内容。3、供应商信息主要包括:供应商编号、供应商名称、供书类型、地址、电话等内容4、其中,图书类型和供书类型是都是书籍类型(如:信息类、建筑类、化学类、生物类等)2、 基本要求1、建立书籍类型类、图书类、供应商类2、书籍类型、图书信息、供应商的初始化3、书籍类型、图书信息、供应商的添加、修改、删除、查找4、对图书信息按编号、书名排序5、将图书信息和供应商信息保存为文件6、程序设计、实现、调试7、完成课程设计说明书三、类定义TuShu.java;主程序运行方法及图形界面AddBook.java;添加图书等一系列信息AddSuppl

12、yBook.java;添加等供应商信息Book.java;图书信息的一系列操作及图形界面BookSupply.jaav;供应商信息的一系列操作以及图形界面BookType.java;图书类型信息的一些列操作以及图形界面ChangeBook.java;更改图书信息ChangeType.java;更改图书类型信息ChangeSupplyBook.java;更改供应商的信息4、 主要成员方法Main()main方法,运行程序Add()添加图书类别信息到数据库中AddIn1()添加图书信息到数据库中AddIn2()添加供应商信息到数据库中Delete()删除信息Find()查找信息ShowAllInf

13、o()显示所有信息ToFile()输出信息到文件保存ChangeInfo()修改信息5、 程序流程图打开程序,选择操作类别退出程序 系统简介书籍类型管理 供应商 信息管理图书信息管理对各类数据信息的添加、修改、查找、删除、显示所有、输出文件退出程序六、测试数据及情况程序主界面:选择【图书信息管理】添加图书信息:添加成功:修改信息:修改内容:填写要修改的内容:回到操作界面:显示所有数据信息:将数据信息输出为文件并保存:删除信息:添加供应商信息主界面:填写内容:添加成功:查询信息:显示所有信息:将数据信息输出为文件:修改信息:填写内容:删除信息:图书类型信息:添加图书类型成功:修改图书类型:修改成

14、功:显示所有类型信息:将文件输出保存:删除信息:系统简介:结 论通过这次的程序设计,我学到了很多东西。之前在课堂上很多没有学过或者是学了没有真正会用的,到了现在也有机会真正的学以致用,现在才找到当初想要学习编程的那份动力。看着一行行代码自己一个字母一个字母的敲上去,程序一个个运行出来,错误一个个减少,那种感情真的不是能用言语表达,到了最后结束的时候看着自己的成果,心里不用提有多舒坦了。弄完之后想要把自己的界面更加好看一些,自己去网上搜索了插入图片的方法,又去网上看了看真正的操作系统是什么样的,虽然比不上人家,但是自己其实也在一点一滴进步着,从刚开始做的时候什么也不懂,跑去问别人,到做完后有很多

15、人前来问我,给人家讲解的时候,进步显而易见。这次课程设计让我更加清楚的知道了:空指针异常是因为没有没有定义对象就直接使用造成的错误;图形界面设计可以按实际情况选择分布方式;数据库里的表不能用表内的关键字做定义,不然这个错误系统也检测不出来;对于时期还有货币等数字问题,是十分容易报错的,所以统一设置成文本比较方便;在查询,修改的时候不能一起定义多条语句; 总之,这次答辩,真正让我收获了很多很多。参考文献1.张桂珠 刘丽 陈爱国 Java面向对象程序设计(第2版)北京邮电大学出版社2毕广吉.Java程序设计实例教程M. 北京:冶金工业出版社,2007年3.王保罗.Java面向对象程序设计M. 北京

16、:清华大学出版社,2003年4.刘腾红,孙细明.信息系统分析与设计M. 北京:科学出版社,2003年5.林邦杰,彻底研究java.北京 .电子工业出版社,2002年6 刘宝林. Java程序设计与案例. 高等教育出版社,2004源代码:猜数字游戏:7、 源代码package gaolei;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;impo

17、rt javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;public class GuessNumber extends JFrame implements ActionListenerint randInt=0;int userInt=0;JLabel label1;JLabel label2;JTextField numJtf;JButton okBtn;public GuessNumber()setLayout(new FlowLayout();randInt=(int)(Mat

18、h.random()*100);label1=new JLabel(请输入一个1到100之间的整数);numJtf=new JTextField(10);label2=new JLabel(猜猜看!);okBtn=new JButton(确定);add(label1);add(numJtf);add(okBtn);add(label2);okBtn.addActionListener(this);numJtf.addActionListener(this);setSize(300,150);setVisible(true);setLocation(300,120);setDefaultClos

19、eOperation(JFrame.EXIT_ON_CLOSE);public void eventHandle()tryuserInt=Integer.parseInt(numJtf.getText().trim();catch(NumberFormatException ex)JOptionPane.showMessageDialog(this,请将您猜得的整数输入到文本框中!);numJtf.setText();numJtf.requestFocus();if(userInt100)JOptionPane.showMessageDialog(this,请输入0到100之间的整数!);nu

20、mJtf.setText();numJtf.requestFocus();if(userIntrandInt)label2.setText(您猜的数值偏大!);numJtf.requestFocus();else if(userInt=randInt)label2.setText(恭喜您,猜对了!);public void actionPerformed(ActionEvent e)if(e.getSource()=okBtn)eventHandle();else if(e.getSource()=numJtf)eventHandle();public static void main(Str

21、ing args)new GuessNumber();客户管理系统:package gaolei;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException

22、;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPa

23、nel;/要求:/1)该系统主要处理客户的相关信息。/2)客户信息主要包括:客户编号、客户名称、所在地区、联系方式等内容。/3)地区信息主要包括:编号、名称等内容。/4)完成以下的操作:客户信息、地区信息的录入、修改、删除和查询。/提示:/1)建立客户类、地区类/2)客户、地区信息的初始化/3)客户、地区信息的添加、修改、删除、查找/4)客户、地区信息的输出/5)将客户信息保存为文件/public class CustomerManagementSystem implements Runnable, ActionListener JFrame f;JPanel jp1, jp2;JLabel

24、jl,jl4;JButton jb1, jb2, jb3,jb4;JLabel jl1, jl2,jl3;Customer Customer;Area Area;Thread scrollWordsThread;String DBDriver=sun.jdbc.odbc.JdbcOdbcDriver;String connectionStr=jdbc:odbc:kehusystem;Statement stmt=null,s1=null;Connection con=null;ResultSet rs=null;CustomerManagementSystem() f = new JFrame

25、(客户管理系统);f.validate();/f.setBackground(Color.orange);f.setLayout(null);JLabel jl = new JLabel(请选择信息类别);jl.setForeground(Color.cyan);jp2 = new JPanel();jl3=new JLabel(欢迎使用客户管理系统);jl3.setForeground(Color.blue);jl3.setFont(new Font(楷体,Font.PLAIN,28 );jb1 = new JButton(客户信息);jb2 = new JButton(地区信息); jb3

26、 = new JButton(退出系统);jb4=new JButton(输出文件);jb1.setForeground(Color.DARK_GRAY);jb2.setForeground(Color.DARK_GRAY);jb3.setForeground(Color.DARK_GRAY);jl4=new JLabel(-顾客是上帝!);jl4.setForeground(Color.lightGray);f.validate();jl3.setBounds(180,15, 300, 50);f.add(jl3);jl.setBounds(260,50, 120, 50);f.add(jl

27、);jb1.setBounds(100, 100, 90, 30);f.add(jb1);jb2.setBounds(200,100, 90, 30);f.add(jb2);jb4.setBounds(300,100, 90, 30);f.add(jb4);jb3.setBounds(400,100, 90, 30);f.add(jb3);jl4.setBounds(250,170, 120, 30);f.add(jl4);f.validate();jb1.addActionListener(this);jb2.addActionListener(this);jb3.addActionList

28、ener(this);jb4.addActionListener(this);scrollWordsThread = new Thread(this);f.setSize(600, 300);f.setLocation(300, 200);f.setVisible(true);f.validate();f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);ImageIcon img = new ImageIcon(F:Java information4.png);JLabel imgLabel = new JLabel(img);f.getLayer

29、edPane().add(imgLabel, new Integer(Integer.MIN_VALUE);imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight();Container cp=f.getContentPane();cp.setLayout(new BorderLayout();(JPanel)cp).setOpaque(false); scrollWordsThread.start();public void run() if (Thread.currentThread() = scrollWordsThrea

30、d) / 如果当前正在运行中的线程是scrollWordsThreadwhile (true) int x = jl4.getBounds().x;int y = 180;x += 5;/ 水平坐标jl4.setLocation(x, y);/ 将滚动文字移动到新位置if (x 380) x = 10;jl4.setLocation(x, y);try scrollWordsThread.sleep(1000); catch (InterruptedException ex) public void last() throws IOExceptionResultSet rs=null;tryC

31、lass.forName(DBDriver);/加载驱动器catch(ClassNotFoundException e1)e1.printStackTrace();trycon=DriverManager.getConnection(connectionStr,);Statement stmt=con.createStatement();String sqlExpression1=Select * from kehu;rs=stmt.executeQuery(sqlExpression1);FileWriter fw=new FileWriter(F:Java information数据信息.

32、txt);BufferedWriter bw=new BufferedWriter(fw);while(rs.next()String id=rs.getString(id);String name=rs.getString(name);String area=rs.getString(area);String tel=rs.getString(tel);String resultStr2=客户信息:n客户ID:+id+ + 姓名:+name + +所在地区:+area + +联系方式:+tel+ ;bw.newLine();bw.write(resultStr2);bw.flush();bw

33、.close();JOptionPane.showInputDialog(this, 客户信息已成功保存在文件E:/gaoleiTxt.txt里);stmt.close();con.close(); catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace();public void actionPerformed(ActionEvent e) if (e.getSource() = jb1) new Customer();if (e.getSource() = jb2) Area=new Area(

34、);if(e.getSource()=jb3)System.exit(1);if(e.getSource()=jb4)try last(); catch (IOException e1) / TODO Auto-generated catch blocke1.printStackTrace();public static void main(String args)new CustomerManagementSystem();客户信息代码:package gaolei;import java.awt.BorderLayout;import java.awt.GridLayout;import

35、java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import java

36、x.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;public class Customer extends JFrame implements ActionListenerJFrame f;JLabel jl,j2,j3,j4,j5;JTextField jf1,jf2,jf3,jf4;JButton jb1,jb2,jb

37、3,jb4,jb5,jb6,jb7,jb8;JPanel jp1;int id;int m=0;JTextArea result;String DBDriver=sun.jdbc.odbc.JdbcOdbcDriver;String connectionStr=jdbc:odbc:kehusystem;Statement stmt=null,s1=null;Connection con=null;ResultSet rs=null;PreparedStatement stmt1=null,stmt2=null,stmt3=null,stmt4=null;public Customer() f

38、= new JFrame(客户信息);jp1=new JPanel();jp1.setLayout(new GridLayout(3, 4);jl=new JLabel(客户编号:);j2=new JLabel(客户名称:);j3=new JLabel(所在地区:);j4=new JLabel(联系方式:);jf1=new JTextField(10);jf2=new JTextField(10);jf3=new JTextField(10);jf4=new JTextField(10);jb1=new JButton(录入);jb2=new JButton(修改);jb3=new JButt

39、on(删除);jb4=new JButton(查询);jp1.add(jl);jp1.add(jf1);jp1.add(j2);jp1.add(jf2);jp1.add(j3);jp1.add(jf3);jp1.add(j4);jp1.add(jf4);jp1.add(jb1);jp1.add(jb2);jp1.add(jb3);jp1.add(jb4);jb1.addActionListener(this);jb2.addActionListener(this);jb3.addActionListener(this);jb4.addActionListener(this);jf3.addAc

40、tionListener(this);jf4.addActionListener(this);f.add(BorderLayout.NORTH, jp1);result = new JTextArea(60, 100);result.setEditable(false);JScrollPane jScrollPane=new JScrollPane(result);f.add(BorderLayout.CENTER, jScrollPane);f.setSize(500, 400);f.setLocation(300, 200);f.setVisible(true);f.validate();

41、public void insert()int m=0;tryClass.forName(DBDriver);/加载驱动器表达式catch(ClassNotFoundException e1)e1.printStackTrace();String id=jf1.getText();String name=jf2.getText();String area=jf3.getText();String tel=jf4.getText();if(!id.equals()&!name.equals()&!area.equals()&!tel.equals()trycon=DriverManager.ge

42、tConnection(connectionStr,);/建立数据库连接String sql1=insert into kehu(id,name,area,tel)values(?,?,?,?);stmt1=con.prepareStatement(sql1);stmt1.setString(1,id);stmt1.setString(2,name);stmt1.setString(3,area);stmt1.setString(4,tel);stmt1.execute();stmt1.close();con.close();m=1;catch (SQLException e1) e1.pri

43、ntStackTrace();if(m=1)JOptionPane.showMessageDialog(this, 信息已经成功录入);if(m=0)JOptionPane.showMessageDialog(this, 您输入的不符合要求);public void xiugai()int n=0;tryClass.forName(DBDriver);/加载驱动器表达式catch(ClassNotFoundException e1)e1.printStackTrace();String id=jf1.getText();String name=jf2.getText();String area

44、=jf3.getText();String tel=jf4.getText();if(!id.equals()|!name.equals()|!area.equals()|!tel.equals()trycon=DriverManager.getConnection(connectionStr,);/建立数据库连接String sql2=Update kehu set name=? where id=?;stmt1=con.prepareStatement(sql2);stmt1.setString(2,id);stmt1.setString(1,name);stmt1.execute();stmt1.close();con.close();n=1;catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace();if(n=1)JOpt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论