面向对象课程设计JAVA大作业报告含源代码
面向对象的程序设计(Java)课程设计报告

面向对象的程序设计(Java)课程设计报告题目:库存管理系统专业信息管理与信息系统班级信管111姓名学号指导教师完成日期 2013.12.272013 年秋季学期《面向对象程序设计(Java)》课程设计成绩评定经考核,给出如下评语:并综合评定该生课程设计成绩为。
指导教师:年月日目录一、系统需求分析 (3)二、系统实现目标 (3)三、相关技术 (4)四、系统设计 (4)五、系统实现 (4)六、系统配置 (22)七、系统维护与扩展 (22)八、心得体会 (23)九、参考文献 (24)一、系统需求分析1.设计题目库存管理系统系统2.任务的描述随着电子商务技术的不断深入,电脑库存管理系统已经越来越受人们的欢迎,在生活中越来越普遍。
电脑的普及以及人们对库存管理系统的依赖,库存管理系统已经成为各大超市,商场,工厂等各大企业的必须系统。
而我们就是对这种库存管理系统建立,修改使其更加完善。
3.系统中用户的界面需求需要设计两个用户交互式界面,一个界面是进入库存管理系统,另一个界面是进入系统后对数据进行查询,新增,删除数据,其他界面均在第二个界面中嵌套。
4.功能需求系统实现企业库存管理数据最基本信息的修改和查询、删除和增加。
企业的库存基本数据、仓库的作业管理、质检录入管理、单据查询、查询统计功能、库存统计功能。
5.性能需求一个优秀的库存管理系统不仅能管理出入库任务,提供精确的库存存量状态信息,还可以通过库存状态的设置,对即将发生的出入库业务进行预测管理,精确地得到未来某个时点上的预计库存及行营的资金占用情况。
网上信息处理要求准确而迅速,并且信息流量大、更新速度快,所以要求系统能实现对大量数据的快处理能力,使用方便,操作简单,易于维护,安全性好,能将信息及时反馈给决策者。
二、系统实现目标1.主要用途对企业的货物,职工的信息进行储存、查询、增加和删除处理。
2.实现功能对企业的货物,职工的信息进行储存、查询、增加和删除处理,是企业对各部门信息管理更加方便操作。
《JAVA程序设计》大作业报告模板

华北科技学院计算机系课程综合作业实验报告课程名称JAVA程序设计实验学期2010 至2011 学年第 1 学期学生所在系部计算机年级08级专业班级信管B082学生姓名学号************ 任课教师实验成绩计算机系制《JAVA程序设计》课程综合作业实验报告学生的学号,可以更新这条记录中的数据;“查询记录”,输入要查询学生学号可以查询这个学生的所有信息;选择分数信息中的“各科最高低分”菜单,可以查询所有学科中的最高分和最低分;“总分平均分”显示所有学生的总分和平均分。
3.主要代码本程序使用Java中基于SWING的图形设计,用到java中的java.awt.*内的包,控件的布局用到java.swing.border.*包,事件处理用到java.awt.event.*,连接数据库用到java.sql 登录界面主要代图1public class denglu{public static void main(String args[]){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){ //11System.out.println(""+e);}new WindowBox("登录窗口"); //调用方法}}class WindowBox extends JDialog implements ActionListener{//声明Box baseBox,boxV1,boxV2,boxV3;JButton button1,button2;}}}如果出现用户名密码错误则会出现提示信息对话框图2通过调用Datawin类中的内容可以进入到主界面声明菜单中的显示、添加、删除、修改、查询、最高低分以及总分平均分菜单项和类,能过给菜单添加事件监听事件图3public void actionPerformed(ActionEvent e){if(e.getSource()==itemshow)show.setVisible(true);else if(e.getSource()==itemadd)add.setVisible(true);else if(e.getSource()==itemupdata)updata.setVisible(true);a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getString(3);a[k][3]=rs.getString(4);a[k][4]=rs.getString(5);a[k][5]=rs.getString(6);k++;}con.close();}catch(SQLException ee){System.out.println(ee);} //处理异常table=new JTable(a,name);getContentPane().removeAll(); //采用BorderLayout布局add(showRecord,BorderLayout.NORTH);add(new JScrollPane(table),BorderLayout.CENTER);validate();}图4构造增加类,声明组件,定义一个表名Object name[]={"学号","姓名","年龄","性别","系别","班级"};和定义一个表单Object a[][]=new Object[1][6];然后给按钮组件增加以下监听事件,通过对表单中输入数据进而增加到数据库中public void actionPerformed(ActionEvent e)//处理事件图5图6构造删除类,声明组件,在文本框中输入信息,进而可以删除数据库中相应的记录给文本框和按钮增加以下事件public void actionPerformed(ActionEvent e){if(e.getSource()==inputNumber){try{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM 学生信息 WHERExueid='"+num+"'");boolean boo=rs.next();if(boo==false){JOptionPane.showMessageDialog(this,"学号不存在",table.repaint();//重打印表con.close();}catch(SQLException ee){JOptionPane.showMessageDialog(this,"更新失败"+ee,"失败",JOptionPane.ERROR_MESSAGE);}}//if图7构造查询方法查询这个窗体整体彩盒式布局,首先声明类和方法设计窗体的外观,给相应的组件添加事件利用SQL语句查询数据库中的信息 rs=sql.executeQuery("SELECT * FROM 学生信息WHERE xueid='"+num+"'");如果输入学号数据库中不存在提示信息“学号不存在”,否则利用table.repaint();方法将数据库中的信息输入到窗体中的table中public void actionPerformed(ActionEvent e)//处理事件{try//连接数据原 hello{num=inputNumber.getText().trim();con=DriverManager.getConnection("jdbc:odbc:hello","","");图8构造最高最低分类首先定义两个静态变量m,n;将数据库中的信息利用查询的方法显示在数字 int b[][]中,con=DriverManager.getConnection("jdbc:odbc:hello","","");sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//只读形式rs=sql.executeQuery("SELECT * FROM 分数信息");st();利用如下方法求得语文成绩的最高分和最低分for(k=0;k<lastNumber;k++){if(m<b[k][0]){m=b[k][0];}if(n>b[k][0]){n=b[k][0];}}a[0][1]=m;a[1][1]=n;同理可以求得其它几科成绩的最高分和最低分然后,将object a[][]中的信息显示有窗体中图9构造总分平均分方法首先将数据库中的信息显示在利用SQL查询方法显示有两个数据中object a[][]和int b[][]中利用如下方法将求得总分和平均分try{con=DriverManager.getConnection("jdbc:odbc:hello","",""); sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=sql.executeQuery("SELECT * FROM 分数信息");st();int lastNumber=rs.getRow();b=new int[lastNumber][4];a=new Object[lastNumber][8];int k=0;rs.beforeFirst();while(rs.next()){a[k][0]=rs.getString(1);a[k][1]=rs.getString(2);a[k][2]=rs.getByte(3);b[k][0]=rs.getByte(3);a[k][3]=rs.getByte(4);b[k][1]=rs.getByte(4);a[k][4]=rs.getByte(5);b[k][2]=rs.getByte(5);a[k][5]=rs.getByte(6);b[k][3]=rs.getByte(6);a[k][6]=b[k][0]+b[k][1]+b[k][2]+b[k][3];a[k][7]=(b[k][0]+b[k][1]+b[k][2]+b[k][3])/4;k++;}con.close();}catch(SQLException ee){System.out.println(ee);}图10四、实验结果及分析程序运行中的报告分析1、在登陆时如果输入不正确的用户和密码会提示用户名或密码错误,因为通过getText()方法无法获得正确的字符串从而提示错误2、在进行数据库相应操作时,如果无法正确连接数据库则会提示不存在所需的数据资源,可能原因是没有正确连接到数据源,即可能数据源名称不正确,或者在数据库中不存在相应的表,或者可能SQL语法错误在进行相应的查询的删除操作时,如果不存在输入的学号会提示用户,“学号学号不存在”,因为不在数据库不无法在相应的字段下找到相匹配的字符串。
JAVA程序设计大作业报告

过程:
1、课程设计目的 2、课程设计题目描述与要求 3、课程设计报考内容 4、输出结果 5、实验总结
1、课程设计目的
用面向对象语言JAVA完成计算 器的设计和实施。通过课程设计掌 握面向对象编程技术,常用库类的 使用和应用系统的开发过程。
2、课程设计题目描述与要求
(1)完成窗口的关闭 按钮的功能; (2)完成清空键 功能;(即清空文本框中的内容) (3)完成数字按钮的功能;(即文本框显示对应数字) (4)完成基本的“+”,“-”,“*”,“/”四则运算;
3、课程设计报告内容
3.1 课程设计思路 设计的程序能完成计算器的基本功能 例如四则运算 3.2 设计过程 本次设计一个简易的计算器的界面,该计算器运行 程序后的界面如下图所示 该计算机包括了加减乘除四则运算 操作建议
3.3实验源代码
在设计这个程序的开始,我们首先设计这个计算器的 界面,我用比较简单的方法,运用GridLayout(4,5)来实 现简单的排版。然后把我需要的几个按键都依次的输入s("CE"))
{
display.setText("0"); start=true; flag=true; command="=";
} else if(start&&flag) { if(command.equals("-")) { display.setText(command); start=false; } else if((command.equals("1/x")||command.equals("sqrt"))&&flag) calculate(Double.parseDouble(display.getText()),command); else if(flag) lastCommand=command; } else { if(command.equals("Backspace")&&flag) { String s=display.getText(); char[] s1=s.toCharArray(); if(s.length()>=2) { String s2=new String(s1,0,s.length()-1); display.setText(s2); } else { display.setText("0"); start=true; } } else if(flag) { calculate(Double.parseDouble(display.getText()),command); lastCommand=command; start=true; } } } }
JAVA面向对象程序设计课程综合作业-实验报告

JAVA面向对象程序设计课程综合作业实验报告一.设计目的JAVA面向对象程序设计课程综合作业是在学生系统地学习了“JAVA面向对象程序设计课程”后,编写“俄罗斯方块游戏”雏形系统。
通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使学生学会将书本知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。
二.系统名称简易俄罗斯方块游戏三.系统功能需求本游戏的主要工作是:控制一个下落的方块,并尽量使用下落的方块填满一行或多行已存在的方格,并要避免方块层叠到游戏场景的顶部。
不同类型的方块均由多个小方格组成,方块将一直自动下落,直到落在游戏场景底部或者已停住方块上面游戏玩家,可以控制下落方块左移、右移以及下移,也可以旋转方块✧当一个方块停止下落时,要检查是否存在填满方格的行;若存在填满的行,则将其清除;清除一行则游戏玩家可获得一些分值 当前方块层叠到游戏场景的顶部时,游戏结束。
四.系统实现功能1、键盘实现功能:2、菜单功能:(1)方块变形:上健(1)分数栏;(5)方块右移按钮;(2)方块左移:左键(2)游戏开始按钮;(6)方块下移按钮;(3)方块右移:右键(3)方块旋转按钮;(4)方块下移:下健(4)方块左移按钮;3、控制功能:(1)当前方块的左移、右移、下移、旋转;(2)方块块不会超越边界,不会覆盖当前已经落下的方块;(3)随机产生7种方块;(4)实现方块自动下落;(5)当游戏区域底行填满时进行消行;(6)判断某一行是否填满;(7)消行后记录分数(8)判断游戏是否结束。
五.概要设计详细描述出系统中定义了几个类,类之间的关系。
每个类定义了哪些数据成员和方法,数据成员和方法的功能是什么。
六.界面设计及功能实现图1图2如上图1游戏界面,分别有游戏区域,分数标签和开始、旋转、左移、右移、下移按钮。
1、当鼠标点击开始时,随机产生一个方块然后自动下落实现随机产生一个方块的代码如下:int ramd;ramd=(int)(Math.random()*7);//随机产生方块switch(ramd){case 0:block=new JShapeBlock(); break;case 1:block=new LineShapeBlock();break;case 2:block=new LShapeBlock();break;case 3:block=new SquareBlock();break;case 4:block=new TShapeBlock();break;case 5:block =new SShapeBlock();break;case 6:block=new ZShapeBlock();break;}block.setGraphics(drawPanel.getGraphics());block.blockDraw();}实现方块自由下落的代码:public class GameTimerTask extends TimerTask{//线程,实现方块开始后自行下落public void run(){if(canStepDown()){//判断方块是否可以下落block.blockDown();}else {//在背景二维数组里定义方块for(int i=0;i<block.squares.length;i++){Square s=block.squares[i];int rowIndex=s.getLocationY()/squareHeight;int columnIndex=s.getLocationX()/squareWidth;gameFieldSquares[rowIndex][columnIndex]=s;}clearFullRows();//方块满行消除gameOver();int ramd;ramd=(int)(Math.random()*7);//随机产生方块switch(ramd){case 0:block=new JShapeBlock(); break;case 1:block=new LineShapeBlock();break;case 2:block=new LShapeBlock();break;case 3:block=new SquareBlock();break;case 4:block=new TShapeBlock();break;case 5:block =new SShapeBlock();break;case 6:block=new ZShapeBlock();break;}block.setGraphics(drawPanel.getGraphics());block.blockDraw();}}}和gameTimer=new Timer();gameTimer.scheduleAtFixedRate(new GameTimerTask(),0,timerPeriod);2、分数标签栏,当满行并消除后加10分,当同时消除两行时加100分,当同时消三行以上时加(行数*200)分。
南京邮电大学java实验报告面向对象

实验报告班级:姓名:学号:课程名称Java程序设计实验项目Java的面向对象编程实验项目类型验证演示综合设计指导教师吴伟敏成绩√一、实验目的1、掌握Java程序面向对象编程的基本架构;2、掌握有关面向对象的基本概念,如:类、对象、接口继承和多态等;3、掌握包程序设计的方法,了解大型软件的构造方式二、实验步骤1、录入并测试以下程序,说出此程序的作用,体会类和对象的关系。
程序如下:class CCircle{double pi;double radius;double getRadius(){return radius;}void setCircle(double r, double p){pi=p;radius=r;}}public class Ex2_1{public static void main(String args[]) {CCircle cir1=new CCircle();cir1.setCircle(2.0,3.1416);System.out.println("radius="+cir1.getRadius());}}[基本要求]运行程序并观察运行结果。
[思考问题]试述程序中每条语句的作用。
2、录入并测试和完善以下程序,体会接口的用法。
interface Sittable{void sit();}interface Lie{void sleep();}interface HealthCare{void massage();}class Chair implements Sittable{public void sit(){System.out.println("It is sittable!");};}class Sofa extends Chair implements Lie,HealthCare{ public void sleep(){System.out.println("It is sleep!");};public void massage(){System.out.println("give a message!");};public static void main(String[] args) {Sofa cottonSofa=new Sofa();System.out.println(" Sofa is ok!");}}[基本要求]运行程序并观察运行结果。
Java实验报告面向对象

实验报告学年第学期任课老师:m=max[i];}}System.out.println("5个人中java成绩最大值是:"+m);}}实验结果分析与总结1、程序运行结果(请提供所完成的各道题运行结果界面截图):2、在实验过程中遇到的问题与解决方法:实验中并未有太多技术上的问题,除了对软件运用的不够熟练造成最初的一些错误,比如,用Jcreator时未编译便运行,一直出错,检查多次后才发现此处与eclipse的不同(上机时没问题,写实验报告用的Jcreator出错了,所以是软件用的不熟记错的缘故。
)而且要先编译Student类才可编译Main。
3、实验过程中的发现与收获,未解决或需进一步解决的问题:实验中的发现便是java其实较C/C++简单许多,很多东西都不要自己多加考虑,但试验还是太少所以会在一些小的细节方面浪费很多时间。
指导老师评阅意见指导老师:年月日填写内容时,可把表格扩大。
附:实验源程序代码//Mainpackage Test;public class Main {public static void main(String[] args) {Main ma=new Main();Student stu1=new Student();stu1.setAge(18);stu1.setJava(86);stu1.setName("aaa");stu1.setNo("001");stu1.setSex("M");int a=stu1.getJava();System.out.println("第一个学生的信息为:\r\n"+"姓名是:"+stu1.getName()+"\r\n"+"年龄是:"+stu1.getAge()+"\r\n"+"性别是:"+stu1.getSex()+"\r\n"+"学号是:"+stu1.getNo()+"\r\n"+"成绩是:"+stu1.getJava()+"\r\n");Student stu2=new Student();stu2.setAge(18);stu2.setJava(90);stu2.setName("bbb");stu2.setNo("011");stu2.setSex("M");int b=stu2.getJava();System.out.println("第二个学生的信息为:\r\n"+"姓名是:"+stu2.getName()+"\r\n"+"年龄是:"+stu2.getAge()+"\r\n"+"性别是:"+stu2.getSex()+"\r\n"+"学号是:"+stu2.getNo()+"\r\n"+"成绩是:"+stu2.getJava()+"\r\n");System.out.println("两个人的java平均成绩为:"+(stu1.getJava()+stu2.getJava())/2);Student stu3=new Student();stu3.setAge(20);stu3.setJava(76);stu3.setName("ccc");stu3.setNo("067");stu3.setSex("F");int c=stu3.getJava();System.out.println("第三个学生的信息为:\r\n"+"姓名是:"+stu3.getName()+"\r\n"+"年龄是:"+stu3.getAge()+"\r\n"+"性别是:"+stu3.getSex()+"\r\n"+"学号是:"+stu3.getNo()+"\r\n"+"成绩是:"+stu3.getJava()+"\r\n");Student stu4=new Student();stu4.setAge(19);stu4.setJava(100);stu4.setName("ddd");stu4.setNo("09091219");stu4.setSex("M");int d=stu4.getJava();System.out.println("第四个学生的信息为:\r\n"+"姓名是:"+stu4.getName()+"\r\n"+"年龄是:"+stu4.getAge()+"\r\n"+"性别是:"+stu4.getSex()+"\r\n"+"学号是:"+stu4.getNo()+"\r\n"+"成绩是:"+stu4.getJava()+"\r\n");Student stu5=new Student();stu5.setAge(22);stu5.setJava(89);stu5.setName("eee");stu5.setNo("097");stu5.setSex("F");int e=stu2.getJava();System.out.println("第五个学生的信息为:\r\n"+"姓名是:"+stu5.getName()+"\r\n"+"年龄是:"+stu5.getAge()+"\r\n"+"性别是:"+stu5.getSex()+"\r\n"+"学号是:"+stu5.getNo()+"\r\n"+"成绩是:"+stu5.getJava()+"\r\n");int max[]={a,b,c,d,e};int m=max[0];for(int i=0;i<5;i++){if(m<max[i]){m=max[i];}}System.out.println("5个人中java成绩最大值是:"+m);}}//Student类package Test;public class Student {private String sNo;private String sName;private String sSex;private int sJava;private int sAge;//set方法public void setJava(int java){sJava=java;;}public void setAge(int age){sAge=age;}public void setNo(String no){sNo=no;}public void setName(String name){ sName=name;}public void setSex(String sex){sSex=sex;}//get方法public int getJava(){return sJava;}public int getAge(){return sAge;}public String getNo(){return sNo;}public String getName(){return sName;}public String getSex(){return sSex;}}。
Java课程设计实验报告及全部源码流程图

课程设计一、实验目的1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。
2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。
日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。
3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。
二、实验要求1.问题描述准确、规范。
2.程序结构合理,调试数据准确、有代表性.。
3.界面布局整齐,人机交互方便。
4.输出结果正确。
5.正确撰写实验报告。
三、实验内容编写一个GUI程序实现日历的功能。
一年日历用12页显示,每页显示一个月的日历。
日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。
可以实现显示时钟,时钟能进行整点报时。
可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。
四、实验步骤1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。
2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。
3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。
4. 根据实验结果,写出合肥工业大学实验报告。
实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。
5.详细的上机实验步骤见任务分工及程序设计进度表。
五、实验结果经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。
日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。
课程设计使用面向对象的JAVA编程技术设计实现计算器(含源代码)

************************课程设计报告************************浙江大学计算机学院2009年第一学期面向对象JAVA编程技术课程设计题目:计算器类的设计与实现专业班级:姓名:学号:指导教师:成绩:编写一个简单的计算器程序。
实现加、减、乘、除等功能,可以根据自己的兴趣,扩充计算器的功能。
程序应提供的基本管理功能有:1)选择计算功能2)计算数据的输入3)实现加、减、乘、除等基本计算功能4)计算结果的输出关键字:窗口组件;按钮;屏幕;监视器通过这次的课程设计,更让我深刻意识到自己在学习中的弱点,同时也找到了克服这些弱点的方法,这也是一笔很大的资源。
在以后的时间中,我应该利用更多的时间去上机实验,多编写程序,相信不久后我的编程能力都会有很大的提高。
这次课程设计,通过对程序的编制,调试和运行,使我更好的掌握了用Java实现图形界面的方法,和用监视器控制组件的过程,熟悉了各种调用的数据类型。
在调试和运行过程中使我更加的了解和熟悉程序运行的环境,提高了我对程序调试分析的能力和对错误的纠正能力。
课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。
摘要 (1)前言 (2)目录 (3)第1章设计描述 (4)1.1问题描述 (4)1.2函数结构 (4)1.3状态图 (4)第2章系统分析 (6)2.1流程图 (6)2.2需求分析 (6)第3章程序设计 (8)3.1窗口类程序代码 (8)3.2监视器类程序代码 (10)第4章测试分析 (14)4.1程序代码 (14)(1)加法运算: (14)(2)减法,乘法运算操作如同加法 (15)(3)除法运算: (15)(4)控制按钮: (16)(5)输入错误提示 (18)4.2简单操作手册 (18)总结及致谢 (19)参考文献 (20)附件Ⅰ源程序代码 (21)第1章设计描述1.1问题描述1.2函数结构1.3状态图设计状态图,初始状态(S0)下显示器没有显示,利用鼠标操作可以输入小数和整数,如下状态S(小数点)和S(整数)第2章系统分析2.1流程图开始输入数字0~9或者小数点.数字0~9?之前是否输入了运算操作符输入的是一个新的数值将该数字添加到原有的数值之后按钮为小数点.,若之前没有输入过小数点.,则将小数点添加到原有的数值之后是是否否2.2需求分析第3章程序设计3.1窗口类程序代码3.2监视器类程序代码第4章测试分析4.1程序代码(1)加法运算:鼠标点击输入第一个数:输入运算符:输入第二个数:点击按钮等于:(2)减法,乘法运算操作如同加法(3)除法运算:如果分母不为0,如同加法运算;如果为0,则显示结果如下图所示:输入被除数:输入符号:输入除数为0计算结果:(4)控制按钮:Back按钮:按Back按钮显示结果:CE/C按钮:CE按钮:清除当前的输入数,如之前已存在了第一个运算数,不影响第一个运算数;C按钮:清空所有的数字及运算符,回到初始状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
年级专业 信息管理与信息系统 学号 学生姓名 指导教师
二○一四年六月
Java 程序设计——商品销售客户管理
一、所用到的表的结构及数据类型
customer 顾客表
表名
customer 顾客
说明
此表记录顾客基本信息
列名
说明
数据类型
cno
顾客编号
char(10)
cname 顾客姓名
exitButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){
9
Java 程序设计——商品销售客户管理
} });
System.exit(0);
loginButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event){ Connection con=Login.getConnection(); try{ Statement state=con.createStatement(); user = nameField.getText(); pwd = passwordField.getPassword(); String pwds = new String(pwd); String sql = "select 密码 from 操作人员 where 用户名
} return conn; } } //菜单界面 class Goods { private static final long serialVersionUID=1L; static final int WIDTH=760; static final int HEIGHT=510; JPopupMenu pop; JMenuItem item2; JFrame f; JMenuItem item1; JPanel p; JTabbedPane tp; public Goods() { f=new JFrame("梦之路时尚天堂商品管理系统"); JMenuBar menubar1=new JMenuBar(); tp=new JTabbedPane(); p=new JPanel();
数据库信息变为:
7
Java 程序设计——商品销售客户管理
0000013 号信息已经删除 6、 退出系统功能
下拉菜单客户信息管理选择退出:
然后就退出了界面。
三、 程序源代码
package LoginSystem; import java.sql.*; import java.io.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.event.*;
String
driverName
=
"com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=
梦之路时尚天堂商品管理系统";
String userName = "sa";
}
public Login(){
JPanel titlePanels = new JPanel(); titlePanels.add(titleLabel); titleLabel.setFont(new java.awt.Font("Dialog",1,28)); titleLabel.setForeground(Color.red); JPanel labelPanels = new JPanel(); labelPanels.setLayout(new GridLayout(2,1,10,40)); labelPanels.add(userLabel); labelPanels.add(pwdLabel); JPanel textFieldPanels = new JPanel(); textFieldPanels.setLayout(new GridLayout(2,1,10,40)); textFieldPanels.add(nameField); textFieldPanels.add(passwordField); JPanel buttonPanels = new JPanel(); buttonPanels.add(loginButton); buttonPanels.add(exitButton); JPanel picturePanels = new JPanel(); JLabel lb = new JLabel(new ImageIcon("A.png")); picturePanels.add(lb); JPanel dialogPanels = new JPanel(); dialogPanels.setLayout(new BorderLayout()); dialogPanels.add(titlePanels,BorderLayout.NORTH); dialogPanels.add(labelPanels,BorderLayout.WEST); dialogPanels.add(textFieldPanels,BorderLayout.CENTER); dialogPanels.add(buttonPanels,BorderLayout.SOUTH); dialogPanels.add(picturePanels,BorderLayout.EAST); add(dialogPanels);
没有编号 0000013 添加客户 0000013:
4
Java 程序设计——商品销售客户管理
张蔷,29,女,0000013,13224463243 数据库内表变为:
注:0000015 号是截图之前添加进去的 3、 查询功能
下拉客户信息系统菜单,选择查询客户信息,输入客户编码 0000013 后点击确定查 询此顾客:
public static void closeRs(ResultSet rs) {
try {
if(rs != null)
{
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//连接数据库
public static Connection getConnection(){
二、程序的功能及实现结果截图
1、 登录功能 打开 Java 文件 Login.java 运行后
约束 主码 非空
2
Java 程序设计——商品销售客户管理
输入错误的用户名后出现: 输入用户名 Lucy 密码:123 点击登录进入操作界面:
3
Java 程序设计——商品销售客户管理
2、 添加功能 下拉顾客信息系统菜单,选择添加客户信息 添加信息前数据库客户表的内容:
}catch(SQLException e){ JOptionPane.showMessageDialog(null,"用户名或密码错误!
","错误",JOptionPane.ERROR_MESSAGE); }
} }); }
public static void closeConn(Connection conn){ try { if(conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); }
char(10)
cage
年龄
int
csex
性别
char(2)
ctelephon 顾客联系方式 e
char(15)
约束 主码
取值为男或女,默认女 非空
操作人员表
表名
说明 列名 用户名 密码 职位
操作人员
此表记录操作人员信息
说明
数据类型
用户登录名
nchar(10)
登录密码
nchar(3)
担任职务
nchar(10)
String userPwd = "123";
Connection conn=null;
try { Class.forName(driverName); conn = DriverManager.getConnection(dbURL, userName, userPwd);
}catch (Exception e){ e.printStackTrace();
不能为空!","错误",JOptionPane.ERROR_MESSAGE); }else if(!(rs.getString("密码").equals(pwds))){ JOptionPane.showMessageDialog(null," 用 户 名 或 密 码
错误!","错误",JOptionPane.ERROR_MESSAGE); }else{ new Goods(); dispose(); } Login.closeConn(con); Login.closeState(state); Login.closeRs(rs);
11
Java 程序设计——商品销售客户管理
f.setJMenuBar(menubar1); f.add(p); p.add(tp); JMenu menu1=new JMenu("顾客信息系统"); menu1.setMnemonic('Z'); menubar1.add(menu1); JMenuItem item1=new JMenuItem("添加客户信息"); JMenuItem item2=new JMenuItem("修改客户信息"); JMenuItem item3=new JMenuItem("查询客户信息"); JMenuItem item4=new JMenuItem("删除客户信息"); JMenuItem item5=new JMenuItem("退出");