面向对象课程设计java大作业报告含源代码

合集下载

面向对象的程序设计(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程序设计》大作业报告模板

华北科技学院计算机系课程综合作业实验报告课程名称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程序设计大作业报告

JAVA程序设计大作业报告
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面向对象程序设计课程综合作业是在学生系统地学习了“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实验报告面向对象

实验报告学年第学期任课老师: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课程设计实验报告及全部源码流程图

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页显示,每页显示一个月的日历。

日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。

[vip专享]Java面向对象程序设计实训报告

[vip专享]Java面向对象程序设计实训报告
public class Shiyanwu extends Applet { Label lab1,lab2; TextField input1,input2; int num1,num2;
public void init(){ lab1=new Label("请输入第1个整数"); input1=new TextField(10); lab2=new Label("请输入第2个整数"); input2=new TextField(10); add(lab1); add(input1); add(lab2); add(input2);
XXXX 大学
实训报告
23WOR1DWO---RDWwOorRdDw1ordword
21
3 2 1 “” 23WOR1D
1 320082 1 3
3 2 “”1 …… ………………17
一、任务与目的
1. 掌握下载 Java SDK 软件包。 2. 掌握设置 Java 程序运行环境的方法。 3. 掌握编写与运行 Java 程序的方法。 4.了解 Java 语言的概貌。 5.安装、掌握 eclipse 软件,为学习 Java 语言和进行 Java 程序的实验做好 准备工作。 6.浏览 Applet 程序 7.掌握 Java 语言的常量、变量、关键词、标识符、注释等基本词法。 8.掌握 Java 语言的基本数据类型,掌握变量的定义方法。 9.掌握 Java 语言选择语句的基本运用方法。 10.掌握 Java 语言循环语句的基本运用方法。 11.掌握从实体中抽象类与对象的方法。 12.掌握定义类、创建对象、使用类与对象。 13.掌握类及其成员的修饰符的使用。 14.掌握构造函数的使用。 15.掌握 java 图形用户界面设计(布局管理器的使用)

JAVA面向对象程序设计课程报告参考模板

JAVA面向对象程序设计课程报告参考模板

JA V A面向对象程序设计课程报告学院____ 自动化 ____________专业____ 自动化 ____________年级班别__13级自动化(卓越工程师一班)学号_____ 3113000993_____________学生姓名_____ 鲁梦如______________2015年4月30 日JAVA面向对象程序设计课程报告评分标准要求:1、题目(四号、黑体,居中)2、完整源代码(中文:小四,宋体;英文:小四,Times New Roman,单倍行距)。

3、运行界面截图。

4、单面打印,课程报告正文不少于5页,在报告左侧用两颗钉书针装订。

正文目录一、源代码二、代码运行效果截图三、参考文献简单计算器的实现一、源代码import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class Calculator extends JFrame implements ActionListener {/** 计算器上的键的显示名字*/private final String[] KEYS = { "7", "8", "9", "/", "sqrt", "4", "5", "6","*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" };/** 计算器上的功能键的显示名字*/private final String[] COMMAND = { "Backspace", "CE", "C" };/** 计算器左边的M的显示名字*/private final String[] M = { " ", "MC", "MR", "MS", "M+" };/** 计算器上键的按钮*/private JButton keys[] = new JButton[KEYS.length];/** 计算器上的功能键的按钮*/private JButton commands[] = new JButton[COMMAND.length];/** 计算器左边的M的按钮*/private JButton m[] = new JButton[M.length];/** 计算结果文本框*/private JTextField resultText = new JTextField("0");// 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字private boolean firstDigit = true;// 计算的中间结果。

课程设计使用面向对象的JAVA编程技术设计实现计算器(含源代码)

课程设计使用面向对象的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按钮:清空所有的数字及运算符,回到初始状态。

Java面向对象实验报告

Java面向对象实验报告

实验一:JAVA输入与输出的应用一、实验目的(1)理解流类的概念和意义(2)掌握标准的输入输出及标准错误(3)文件操作,对流类进行读取,掌握其构造器方法二、实验设备个人计算机windows XP,JDK1.5编译开发环境、Eclipse文本编辑器。

三、实验步骤、方法与要求实验一;编写一个程序,分别统计并输出文本文件中元音字母a e i o u 的个数实验二;编程实现以下功能,在屏幕上显示输入姓名,然后将用户输入的姓名保存到文本文件中,重复进行,直到用户输入空字符串为止。

四、实验结果示例1:实验一2:实验二五、程序清单列出完成上述实验步骤所要求编写的程序源代码实验一:package chapter10;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class Test {public static void main(String[] args) throws IOException { int ch;File file1=new File("F:\\蔺永虎作业\\TestFile.txt");try {@SuppressWarnings("resource")FileInputStream fin=new FileInputStream(file1);System.out.println("文件中的信息为:");ch=fin.read();while(ch!=-1){System.out.print((char)ch);ch=fin.read();}FileInputStream fin1=new FileInputStream(file1);int s,aa=0 ;s=fin1.read();while(s!=-1){char c= (char) s;if(c=='a'){aa++;}s=fin1.read();}System.out.println(" TestFile.txt中a的个数为:"+aa);fin1.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}实验二;package chapter10;import java.io.*;public class ImputName{public static void main(String args[]) throws IOException{String s;InputStreamReader isr=new InputStreamReader(System.in);BufferedReader br=new BufferedReader(isr);FileWriter fw=new FileWriter("F:\\蔺永虎作业.\\InputName.txt"); BufferedWriter bw=new BufferedWriter(fw);System.out.println("请输入姓名:(以空行结束)");while(true){System.out.println("输入姓名: ");System.out.flush();s = br.readLine();if(s.length()==0)break;bw.write(s);bw.newLine();}br.close();bw.close();System.out.println("输入的姓名存入到F:\\蔺永虎作业.\\InputName.txt");}}六、实验总结这次的实验对以自己的流方式向文件中写入的这种类型的题,有了进一步的了解,而且对于这种异常处理的方法,也有了更深一步的印象,DataOutputStream可以把各种丰富类型的数据写入磁盘,在实际操作中用的这种方法,也可以解决很多不同类对象。

面向对象程序设计课程设计报告及程序源代码

面向对象程序设计课程设计报告及程序源代码

滨州学院课程设计(学年论文)题目:人机互动猜拳小游戏系院计算机科学技术系专业计算机网络技术班级2012级1班姓名学号指导教师职称讲师2013年6月30日public class Computer {String name;int score;public int showfist(){int quan;quan=(int)(Math.random()*10);if(quan<=2){quan=1;}else if(quan<=5){quan=2;}else{quan=3;}switch(quan){case 1:System.out.println(name+"出拳:剪刀");break;case 2:System.out.println(name+"出拳:石头");break;case 3:System.out.println(name+"出拳:布");break;}return quan;}}import java.util.Scanner;public class Person {String name;int score;Scanner input=new Scanner(System.in);public int showFist(){System.out.print("\n请出拳:1.剪刀2.石头3.布");int quan=input.nextInt();switch(quan){case 1:System.out.println("你出拳:剪刀");break;case 2:System.out.println("你出拳:石头");break;case 3:System.out.println("你出拳:布");break;}return quan;}}import java.util.Scanner;public class Game {int count=0;int countP=0;Person person=new Person();Computer computer=new Computer();Scanner input=new Scanner(System.in);public void initial(){System.out.print("请选择你的角色(1.刘备 2.孙权 3.曹操):");int juese=input.nextInt();switch(juese){case 1:="刘备";break;case 2:="孙权";break;case 3:="曹操";break;}System.out.print("请选择对手角色(1.关羽 2.张飞 3.赵云):");int JueSe=input.nextInt();switch(JueSe){case 1:="关羽";break;case 2:="张飞";break;case 3:="赵云";break;}}public void begin(){System.out.print("\n要开始吗?(y/n)");String ans=input.next();if(ans.equals("y")){String answ;do{int a=person.showFist();int b=computer.showfist();if(a==1&&b==3||a==2&&b==1||a==3&&b==2){System.out.println("结果:你赢了!");person.score++;}else if(a==1&&b==1||a==2&&b==2||a==3&&b==3){System.out.println("结果:平局,真衰!嘿嘿,等着瞧吧!");countP++;}else{System.out.println("结果:你输了!");computer.score++;}count++;System.out.print("\n是否开始下一轮? (y/n)");answ=input.next();}while(answ.equals("y"));}}public String calcResult(){String a;if(person.score>computer.score){a="最终结果:恭喜恭喜!你赢了!";}else if(person.score==computer.score){a="最终结果:打成平手,下次再和你一决高下!";}else{a="最终结果:呵呵,你输了!笨笨,下次加油啊!";}return a;}public void showResult(){System.out.println("---------------------------------------------------");System.out.println("\t\t"++" VS "++"\n");System.out.println("对战次数:"+count+"次");System.out.println("平局:"+countP+"次");System.out.println(+"得:"+person.score+"分");System.out.println(+"得:"+computer.score+"分\n");System.out.println(calcResult());System.out.println("---------------------------------------------------");}}public class Test {public static void main(String[]args){Game g=new Game();System.out.println("-----------------欢迎进入游戏世界--------------------\n\n");System.out.println("\t\t******************");System.out.println("\t\t** 猜拳开始**");System.out.println("\t\t******************\n\n");System.out.println("出拳规则:1.剪刀2.石头3.布");g.initial();g.begin();g.showResult();}}。

我的Java大作业实验报告

我的Java大作业实验报告

课程:面向对象与Java程序设计题目:备忘录系统实现指导老师:班级:学号:姓名:课程设计内容概述<一>目的:一学期的面向对象与Java程序设计的学习告一段落,我们学习了面向对象程序设计的主要原理和方法、Java最主要核心技术。

通过学习,我们掌握了面向对象程学设计的方法、原则和理论,具有了一定的面向对象设计和开发能力。

编程语言的学习过程是一件动手与理论结合的过程,在语言学习的过程中,重点和难点是是设计、思想以及创造。

大作业正是为我们提供了学以致用的平台,切实把我们的理论与动手实践相结合,让我们真正理解Java语言的精髓和编程技巧。

我们组本次的选题是“备忘录系统”,当前旨在扩展和完善当下备忘录的一些功能,用面向对象语言Java完成备忘录系统的基本功能及扩展功能。

<二〉任务:用面向对象Java程序设计语言,编写自己感兴趣的系统,撰写相关的文档资料,从中感悟面向对象程序设计思想及精髓,切实提高实践动手开发能力。

本组选题:备忘录系统程序实现的基本思想<一>:问题需求分析:人的精力总是有限的,很多事情不可能一一记住,早期人们借助记事本,但是那样很不方便,需要经常查阅,甚至有可能丢失遗忘。

备忘录在这种情况下应运而生。

但是当前的手机备忘录的功能往往很局限——仅能实现一般的记录功能,这显然满足不了人类日益快节奏、高强度工作下对重要事情需重要备忘提醒的需求。

总体设计:鉴于对问题需求的分析,我们组要设计实现一款功能齐全、服务到位以及更为人性化的备忘录系统。

备忘录中备忘的事有很大一部分具有隐私性,因此我们设计了云备忘登录系统,用户可以注册一个只属于自己,只能被自己查阅的备忘录,这样就大大保护了用户的隐私;为了方便用户查看备忘事件,登录备忘录后,界面自动显示已备忘事项以及创建时间;为了方便用户及时看到更重要的事项以及删除已完成事项,我们还设计了更改优先级选项以及事项列表直接删除事项,用户随时可以更改事件的优先级、删除已完成实践;为了防止用户忘记自己备忘的事件,我们特别设计了提醒功能,用户可以设置提醒时间,选择提醒方式(弹窗提醒和邮件提醒,默认为弹窗提醒);我们还设置了新建功能,方便用户新建事项;为防止用户意外关闭未完成编辑的任务,还设计了确认关闭对话框;此外还实现了新建、打开文件、添加、添加并返回、另存为、撤销、恢复、剪切、复制、粘贴、删除、自动换行等基本功能。

JAVA课程设计报告_完整版

JAVA课程设计报告_完整版

《JAVA面向对象程序设计》课程设计报告(2011-2012学年第2学期)系别:厦门理工学院计算机科学与技术系专业名称:10级网络工程1班课程设计科目:《JAVA面向对象程序设计》课程设计学生姓名:学号:指导教师:***成绩:完成时间:2012年7月6日题目JAVA程序课程设计任务一手机号码检测器(一)设计任务与目标任务:手机号码是由11位数字构成,用户在输入手机号码时经常混乱输入若干位数字或字母,要求你编写一个程序检测用户所输入的手机号码是否符合规则。

要求目标:检测所输入的手机号码是否是11位检测每一位是否都为数字。

分析论证:本题目要求对用户输入的手机号码进行检测,判断输入的正确性。

曾经有做过类似字符比较的题目,可以借鉴。

将字符的比较运用进来,把用户的输入字符和正确的进行比较。

但是必须满足多次输入和错误提醒。

同时还可以添加提示错误的位置和错误字符是什么。

程序正确运行时可以满足以上功能,基本可以达到题目要求了。

(二)方案设计与论证为了满足多次输入的要求,将提示和输入的操作放在一个循环体中,我采用了do_whiele()循环。

每次输入结束后提示是否继续输入。

在循环中逐步对输入的号码位数和字符类型进行检测。

位数可以分超出和不足,并均给出错误提示。

如果位数满足要求后对手机号码类型进行检测。

一般手机号在0~9之间,所以不满足的字符将报错。

通过将输入的整个字符串调用charAt(int i)方法对字符串逐位比较。

本程序的特点在于可以满足了多次输入和错误字符的显示(内容和位置)。

在程序的调试过程中,有过多次输入正确的号码也会报错(还会报错0位错误),这是因为记录错误位子的变量放在错误条件下并且未在循环体中初始化为0。

最终解决了此问题。

(三)程序框图或流程图,程序清单与调用关系(四)程序运行的测试与分析实现了多次输入和错误提示,可以判断输入的号码的错误位置及字符,错误类型,满足了设计构思要求。

最终结果如下图:实验结果截图:(五)结论心得实验过程中对于判断条件的选择出现了问题,开始时觉得要对输入的字符一个一个的比较,这样增加了难度也不方便实现。

JAVA-课程设计(大作业)报告

JAVA-课程设计(大作业)报告

课程设计(大作业)报告课程名称:面向对象程序设计课程设计设计题目:设计一个记事本院系:信息技术学院班级:设计者:学号:指导教师:设计时间:信息技术学院昆明学院课程设计(大作业)任务书简单记事本程序的设计目录一.题目分析 (5)1.1需求分析 (5)1.2功能要求设计 (5)二.总体设计 (5)2.1设计思路 (5)2.2运行界面 (6)2.3模块说明图 (6)2.4主流程图 (7)2.5 UML图 (7)2.6程序相关说明 (8)三.运行环境 (8)四.详细设计与分析 (8)4.1.初始化组件 (8)4.2.构建菜单栏及其下拉菜单 (8)4.3.“文件”菜单的事件监听 (9)4.5.异常处理 (10)五.调试分析 (12)六.总结 (13)七.参考文献 (14)附录(源代码) (14)一.题目分析1.1需求分析现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。

功能也是应有尽有,有的能改变字体,有的能改变文字颜色。

但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。

仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。

本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。

该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。

该程序主要用到了Java swing和事件监听等。

1.2功能要求设计设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能,可扩展功能。

本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:5)菜单中有“文件”,“编辑”,“关于”三个主菜单。

java《Java程序设计》实验报告1:Java面向对象程序设计

java《Java程序设计》实验报告1:Java面向对象程序设计

开课实验室:现代信息交流中心403开课时间:2019年**月**日实验报告:2019年11月2日一、实验目的:熟悉和掌握Java中的面向对象编程,包括类、属性、方法、构造方法。

二、实验内容:1. 定义一个矩形类Rectangle:(1)属性:长length、宽width(2)方法:getArea()求面积、getPerimeter()求周长,showAll()分别在控制台输出长、宽、面积、周长(3)构造方法Rectangle(width, length),分别给两个属性赋值编写测试类,创建Rectangle对象,并输出相关信息。

2. 设计一个类Student:(1)属性包括姓名、学号和成绩(2)方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。

编写测试类运行上面的方法。

3. 编写复数类Complex,使用该类验证两个复数2+2i 和3+3i 相加产生一个新的复数5+5i 。

复数类Complex 满足如下要求:(1)属性:RealPart : int型,代表复数的实数部分;ImaginPart : int型,代表复数的虚数部分(2)方法:Complex( ) : 构造方法,将复数的实部和虚部都置0Complex( int r , int i ) : 构造方法,形参r 为实部的初值,i为虚部的初值。

Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

String toString( ) : 把当前复数对象的实部、虚部组合成a+bi 的字符串形式,其中a 和b分别为实部和虚部的数据。

编写测试类对其进行测试。

三、源代码清单:1.源代码清单package text1;public class Rectangle {float length,width;Rectangle(float width, float length) {this.width = width;this.length = length;}double getArea(){return length*width;}double getPerimeter(){return 2*(length+width);}void showAll(){System.out.println("长:"+length);System.out.println("宽:"+width);System.out.println("面积:"+getArea());System.out.println("周长:"+getPerimeter());}public static void main(String args[]) {Rectangle a = new Rectangle(2, 5);a.showAll();}}2.源代码清单package text;public class student {String name;int id;private float score;student(String name,int id,int score){=name;this.id=id;this.score=score;}void show() {System.out.println("id:"+id+",name="+name+",score="+score);}public static void sort(student[] stus) {student stu;for(int i = 0;i < stus.length-1;i++) {for(int j = 0;j < stus.length - i - 1;j++) {if(stus[j].score < stus[j+1].score) {stu = stus[j];stus[j] = stus[j+1];stus[j+1] = stu;}}}}public static void main(String[] args) {student[] stus = new student[3];stus[0] = new student("董山炮", 1, 59);stus[1] = new student("丁朵朵", 2, 96);stus[2] = new student("大狗", 3, 77);student.sort(stus);for(student stu : stus) {stu.show();}}}3. 源代码清单package text;public class complex {int RealPart;int ImaginPart;complex(){this.RealPart = 0;this.ImaginPart = 0;}complex(int r,int i){RealPart = r;ImaginPart = i;}int getRealPart(){return this.RealPart;}public int getImaginPart(){return this.ImaginPart;}complex complexAdd(complex a){int RealPart = this.RealPart + a.getRealPart();int ImaginPart = this.ImaginPart + a.getImaginPart();return new complex(RealPart, ImaginPart);}public String toString(){return this.RealPart + "+" + this.ImaginPart + "i";}public static void main(String[] args){complex a = new complex(2,2);complex b = new complex(3,3);complex sum = plexAdd(b);System.out.println(a + "+" + b + "=" +sum ); }}四、运行结果:(给出运行结果贴图)。

西电java上机作业2实验报告

西电java上机作业2实验报告

JAVA上机作业2一.题目描述:1.面向对象程序设计实验定义普通人、老师、班主任、学生、学校,提供适当的属性、方法用于描述其内部数据和行为方式,并提供主类使之运行。

2.用Java实现一个复杂算法吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘得到,这对数字各包含乘积的一半位数的数字,数字选取后可任意排序。

例如,下列数字都是“吸血鬼”数字:1260=21×601827=21×872187=27×81写出一个程序,找出4位数的所有吸血鬼数字。

二.源代码:1.面向对象程序设计实验class PeopleForSchool{String teacher;String student;public PeopleForSchool(String teacher,String student){this.teacher=teacher;this.student=student;}public String getDetails(){return "At school: "+teacher+" is a teacher and "+student+" is a student.";}}class Headteacher extends PeopleForSchool {private String manage_student;public Headteacher(String teacher,String student,String manage_student){super(teacher,student);this.manage_student=manage_student;}public String getDetails(){return super.getDetails()+" especially,"+teacher+" also is a "+manage_student+" !";}}public class Mainclass {public static void main (String[ ] args){Headteacher m=new Headteacher("Tom","Bobs","headteacher");System.out.println(m.getDetails());}}2.吸血鬼数字源代码:import java.util.Arrays;// **********************吸血鬼数字*********************** public class TheVampaireNumber {public static void main(String[] args){int num1,num2,num;String[] str1,str2;int i,j;for(num1=10;num1<100;num1++){i= Math.max(1000 / num1, num1 + 1);j= Math.min(10000 / num1, 100);for (num2 = i; num2<j; num2++) {num=num1*num2;if(num%100==0)continue;str1=String.valueOf(num).split("");str2=(String.valueOf(num1)+String.valueOf(num2)).split("");Arrays.sort(str1);Arrays.sort(str2);if(Arrays.equals(str1,str2)){System.out.println(num1+"*"+num2+"="+num);}}}}}三.运行结果:1. 面向对象程序设计2.吸血鬼数字:符合条件的吸血鬼数字共有7组,它们分别是:15*93=1395 ;21*60=1260 ;21*87=1827 ;27*81=2187 ;30*51=1530 ;35*41=1435 ;80*86=6880 。

面向对象的程序设计(Java)课程设计报告

面向对象的程序设计(Java)课程设计报告
面向对象的程序设计(Java)
课程设计报告
题目:网上商店销售管理及统计分析系统
专 业信息管理与信息系统
班 级
姓 名
学 号
指导教师
完成日期
年学期
《面向对象程序设计(Java)》课程设计成绩评定
经考核,给出如下评语:
并综合评定该生课程设计成绩为。
指导教师:
年月日
一、系统需求分析………………………………………………3
时间码表dates:(dat,yea,sea)
商品表prods:(pnum,pname,a,b,supply)
配送点表send:(snum,sname,sadd)
销售表sells:(cnum,pnum,onum,dat,num,price,snum)
数据库E-R图
逻辑结构设计
2.系统详细设计及代码说明
JButton c15;JButton c16;JButton c17;
JLabel c21;JLabel c22;JLabel c23;JLabel c24;
JLabel c25;JLabel c26;JLabel c27;JLabel c28;
JLabel c29;
JLabel c211;JLabel c221;JLabel c231;JLabel c241;
3.系统中用户的界面需求
需要设计两个用户交互式界面,一个界面处理对销售数据最基本的统计查询,另一个界面处理基本信息的修改和查询。
4.功能需求
系统实现对在线销售数据最基本的统计查询和基本信息的修改和查询。
5.性能需求
网上信息处理要求准确而迅速,并且信息流量大、更新速度快,所以要求系统能实现对大量数据的快处理能力,使用方便,操作简单,易于维护,安全性好,能将信息及时反馈给决策者。

面向对象课程设计java大作业报告含源代码

面向对象课程设计java大作业报告含源代码

Java程序设计报告年级专业信息管理与信息系统学号学生姓名指导教师二○一四年六月一、所用到的表的结构及数据类型customer顾客表操作人员表列名说明数据类型约束用户名用户登录名nchar(10) 主码密码登录密码nchar(3) 非空职位担任职务nchar(10)1、登录功能打开Java文件Login.java运行后输入错误的用户名后出现:输入用户名Lucy 密码:123点击登录进入操作界面:2、添加功能下拉顾客信息系统菜单,选择添加客户信息添加信息前数据库客户表的内容:没有编号0000013添加客户0000013:数据库内表变为:注:0000015号是截图之前添加进去的3、查询功能下拉客户信息系统菜单,选择查询客户信息,输入客户编码0000013后点击确定查询此顾客:4、修改功能下拉菜单客户信息系统,选择修改客户信息,重新输入相应的正确信息,将错误的覆盖掉,此处将0000013张蔷年龄改为32:数据库表内内容:5、删除功能下拉菜单客户信息系统,选择删除客户信息,输入客户编码0000013点击确认:数据库信息变为:0000013号信息已经删除6、退出系统功能下拉菜单客户信息管理选择退出:然后就退出了界面。

三、程序源代码package LoginSystem;import java.sql.*;import java.io.*;import javax.swing.*;import java.awt.*;//登录界面public class Login extends JFrame{private TextField nameField = new TextField(10);private JPasswordField passwordField = new JPasswordField(15); private JButton loginButton = new JButton("登录");private JButton exitButton = new JButton("退出");private JLabel titleLabel = new JLabel("梦之路时尚天堂商品管理系统"); private JLabel userLabel = new JLabel("用户名");private JLabel pwdLabel = new JLabel("密码");private String user = null;private char[] pwd = null;public static void main(String args[]){Login frame = new Login();frame.setTitle("系统登录");frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);frame.setResizable(false);frame.setLocation(600,300);frame.pack();frame.setVisible(true);}public Login(){JPanel titlePanels = new JPanel();titlePanels.add(titleLabel);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);exitButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){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 用户名='"+user+"'";ResultSet rs = state.executeQuery(sql);rs.next();if(pwds.equals("")||user.equals("")){JOptionPane.showMessageDialog(null,"用户名或密码不能为空!","错误",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);}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();}}public static void closeState(Statement state) {try {if(state != null){state.close();}} catch (SQLException e) {e.printStackTrace();}}public static void closeRs(ResultSet rs) {try {if(rs != null){rs.close();}} catch (SQLException e) {e.printStackTrace();}}//连接数据库public static Connection getConnection(){String userName = "sa";String userPwd = "123";Connection conn=null;try {Class.forName(driverName);conn = DriverManager.getConnection(dbURL, userName, userPwd);}catch (Exception e){e.printStackTrace();}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();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("退出");menu1.add(item1);menu1.add(item2);menu1.add(item3);menu1.add(item4);menu1.add(item5);f.add(p);JLabel lb = new JLabel(new ImageIcon("SC.jpg"));p.add(lb);f.setVisible(true);f.setSize(WIDTH,HEIGHT);Toolkit kit=Toolkit.getDefaultToolkit();Dimension screenSize=kit.getScreenSize();int width=screenSize.width;int height=screenSize.height;int x=(width-WIDTH)/2;int y=(height-HEIGHT)/2;f.setLocation(x,y);item1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Add con1=new Add();tp.addTab("添加客户信息",con1);tp.setEnabledAt(0,true);tp.setTitleAt(0,"添加客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Update con2=new Update();tp.addTab("修改客户信息",con2);tp.setEnabledAt(0,true);tp.setTitleAt(0,"修改客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Select con3=new Select();tp.addTab("查询客户信息",con3);tp.setEnabledAt(0,true);tp.setTitleAt(0,"查询客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Delect con4=new Delect();tp.addTab("删除客户信息",con4);tp.setEnabledAt(0,true);tp.setTitleAt(0,"删除客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});menu1.addMenuListener(new MenuListener(){public void menuSelected(MenuEvent event){item2.setEnabled(!item1.isSelected());}public void menuDeselected(MenuEvent event){}public void menuCanceled(MenuEvent event){}});}}//信息添加class Add extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Add(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定");JButton clear=new JButton("清空");JButton c=new JButton("关闭");JLabel name=new JLabel("姓名");JLabel phone=new JLabel("电话号码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("客户编码");JLabel years=new JLabel("年龄");Font font=new Font("Serief", Font.BOLD, 22);final JTextField nameinput=new JTextField(10);final JTextField phoneinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);JLabel title=new JLabel("顾客基本信息");title.setFont(font);title.setForeground(Color.blue);JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(title,constraints,0,0,4,1);add(num,constraints,0,4,1,1);add(name,constraints,0,1,1,1);add(phone,constraints,0,5,1,1);add(sex,constraints,0,3,1,1);add(years,constraints,0,2,1,1);add(nameinput,constraints,1,1,1,1);add(phoneinput,constraints,1,5,1,1);add(sexinput,constraints,1,3,1,1);add(numinput,constraints,1,4,1,1);add(yearsinput,constraints,1,2,1,1);add(ok,constraints,3,1,1,1);add(clear,constraints,3,3,1,1);add(c,constraints,3,5,1,1);c.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){removeAll();}});ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String nametext=nameinput.getText();String phonetext=phoneinput.getText();String sextext=sexinput.getText();String numtext=numinput.getText();String yearstext=yearsinput.getText();try{Connection con= DriverManager.getConnection(url,user,password);prestmt=con.prepareStatement("INSERT INTO customer顾客VALUES(?,?,?,?,?)" );prestmt.setString(5,phonetext);prestmt.setString(2,nametext);prestmt.setString(4,sextext);prestmt.setString(1,numtext);prestmt.setString(3,yearstext);prestmt.executeUpdate();con.close();JOptionPane.showMessageDialog(null,"信息添加成功","OK",RMATION_MESSAGE);}catch(SQLException ex) {}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){nameinput.setText("");phoneinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}//信息修改class Update extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Update(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定");JButton clear=new JButton("清空");JButton c=new JButton("关闭");JLabel name=new JLabel("姓名");JLabel phone=new JLabel("电话号码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("客户编码");JLabel years=new JLabel("年龄");final JTextField nameinput=new JTextField(10);final JTextField phoneinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);JLabel title=new JLabel("修改基本信息");Font font=new Font("Serief", Font.BOLD, 22);title.setFont(font);title.setForeground(Color.blue);//设置标签前景色JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(title,constraints,0,0,4,1);add(name,constraints,0,1,1,1);add(phone,constraints,0,5,1,1);add(sex,constraints,0,3,1,1);add(num,constraints,0,4,1,1);add(nameinput,constraints,1,1,1,1);add(phoneinput,constraints,1,5,1,1);add(sexinput,constraints,1,3,1,1);add(numinput,constraints,1,4,1,1);add(years,constraints,0,2,1,1);add(yearsinput,constraints,1,2,1,1);add(ok,constraints,3,1,1,1);add(clear,constraints,3,3,1,1);add(c,constraints,3,5,1,1);c.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){removeAll();}});ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event) {try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String nametext=nameinput.getText();String phonetext=phoneinput.getText();String sextext=sexinput.getText();String numtext=numinput.getText();String yearstext=yearsinput.getText();try{Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("update customer顾客set cname=?,csex=?,ctelephone=?,cage=? WHERE cno=?");prestmt.setString(1,nametext);prestmt.setString(2,sextext);prestmt.setString(5,numtext);prestmt.setString(4,yearstext);prestmt.setString(3,phonetext);prestmt.executeUpdate();prestmt.close();conn.close();JOptionPane.showMessageDialog(null,"信息修改成功","OK",RMATION_MESSAGE);}catch(SQLException ex) {ex.printStackTrace();}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){nameinput.setText("");phoneinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}//信息删除class Delect extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Delect(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定删除此顾客!");JButton clear=new JButton("清空");JLabel c=new JLabel("客户编码");Font font=new Font("Serief", Font.BOLD, 22);c.setFont(font);c.setForeground(Color.blue);//设置标签前景色final JTextField d=new JTextField(16);JLabel title=new JLabel("识别信息");JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=6;add(c,constraints,0,1,1,1);add(d,constraints,1,1,1,1);add(ok,constraints,0,2,1,1);add(clear,constraints,1,2,1,1);ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;try{ Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("DELETE FROM customer顾客WHERE cno=?");prestmt.setString(1,d.getText());prestmt.executeUpdate();prestmt.close();conn.close();JOptionPane.showMessageDialog(null,"该顾客记录已删除","OK",RMATION_MESSAGE);}catch(SQLException ex) {}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){d.setText("");}});}}//顾客信息查询class Select extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Select(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定查询此顾客");JButton clear=new JButton("清空");JLabel c=new JLabel("客户编码");final JTextField d=new JTextField(16);JLabel title=new JLabel("识别信息");JButton additionbutton=new JButton("添加");JLabel name=new JLabel("姓名");JLabel id=new JLabel("客户编码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("电话号码");JLabel years=new JLabel("年龄");final JTextField nameinput=new JTextField(10);final JTextField idinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(c,constraints,0,1,1,1);add(d,constraints,1,1,1,1);add(ok,constraints,0,2,1,1);add(clear,constraints,1,2,1,1);add(id,constraints,0,3,1,1);add(name,constraints,0,4,1,1);add(sex,constraints,0,5,1,1);add(num,constraints,0,7,1,1);add(years,constraints,0,6,1,1);add(idinput,constraints,1,3,1,1);add(nameinput,constraints,1,4,1,1);add(sexinput,constraints,1,5,1,1);add(numinput,constraints,1,7,1,1);add(yearsinput,constraints,1,6,1,1);ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){{try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String dtext=d.getText();try{Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("Selectcno,cname,csex,ctelephone,cage FROM customer顾客WHERE cno=?");prestmt.setString(1,d.getText());rs=prestmt.executeQuery();if(rs.next()){idinput.setText(rs.getString(1));nameinput.setText(rs.getString(2));sexinput.setText(rs.getString(3));numinput.setText(rs.getString(4));yearsinput.setText(rs.getString(5));}else{JOptionPane.showMessageDialog(null,"未查到该顾客记录","ERROR",RMATION_MESSAGE);}conn.close();}catch(SQLException ex) {}}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){d.setText("");idinput.setText("");nameinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}。

实验报告

实验报告

《面向对象——java》课程设计实验报告一、设计目的:1.熟练掌握java面向对象编程。

2.选择适合的数据结构实现需求。

3.熟练使用各种控制结构。

4.掌握GUI组件、事件处理技术二、实验任务:设计一个简易的计算器,可以进行四则运算:加、减、乘、除等(限于十进制下)程序要求:(1)、应具有相应的界面,可参考下图进行设计:(2)、操作符号定为:“+”、“-”、“*”、“/”、“(”、“)”等(3)、当用户点击面板中各组件输入表达式,点击“=”时。

文本框之前内容应清空,直接显示表达式运算结果。

例如:输入表达式“3+2*5”之后按“=”,直接显示“13”。

(4)、以上部分为必须完成的内容。

三、试验程序:import java.awt.*;import java.awt.event.*;class CalcAppDemo extends Frame{private TextField t_result;private Panel p_main;//主面板private Panel p_num;//数字面板private Panel p_oper;//操作符面板private Panel p_show;//显示面板private Button b_num[];//数字按钮private Button b_oper[];//操作符按钮public CalcAppDemo(String title){setTitle(title);t_result = new TextField("0.0",21);p_main = new Panel();p_num = new Panel();p_oper = new Panel();p_show = new Panel();p_main.setLayout(new BorderLayout());p_num.setLayout(new GridLayout(4,3,1,1));p_oper.setLayout(new GridLayout(4,2,1,1));b_num = new Button[12];//初始化for(int i = 0;i < 9;i++){b_num[i] = new Button(new Integer(i+1).toString()); }b_num[9] = new Button("0");b_num[10] = new Button("cls");b_num[11] = new Button(".");for(int i = 0;i < 12;i++){p_num.add(b_num[i]);}b_oper = new Button[8];b_oper[0] = new Button("+");b_oper[1] = new Button("-");b_oper[2] = new Button("*");b_oper[3] = new Button("/");b_oper[4] = new Button("pow");b_oper[5] = new Button("sqrt");b_oper[6] = new Button("+/-");b_oper[7] = new Button("=");//创建控件for(int i = 0;i < 8;i++){p_oper.add(b_oper[i]);}t_result.setEditable(false);p_show.add(t_result,BorderLayout.NORTH); //文本框在显示面板的北边p_main.add(p_show,BorderLayout.NORTH); //显示面板在主面板上的北边p_main.add(p_num,BorderLayout.WEST);p_main.add(p_oper,BorderLayout.EAST); //操作符面板在主面板上的东边this.add(p_main,BorderLayout.CENTER); //主面板在框架(主窗口)的中间setSize(400,400);setResizable(false);pack();this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});ButtonListener bl = new ButtonListener(); //监听器对象for(int i=0;i<12;i++){b_num[i].addActionListener(bl); //注册监听器}for(int i = 0;i < 8;i++){b_oper[i].addActionListener(bl);}}class ButtonListener implements ActionListener { //监听器类是内部类private String lastOp; //存储上一次操作符private String strV al; //存储数字对应的字符串private double total; //总数private double number; //存储新输入的数private boolean firsttime;//判断是否第一次按下的是操作符按钮private boolean operatorPressed;//判断是否已经按过操作符按钮ButtonListener( ){firsttime = true;strV al = "";}//事件处理器public void actionPerformed( ActionEvent e ){String s = ((Button)e.getSource()).getLabel().trim();if(Character.isDigit(s.charAt(0))){ //判断是操作数还是操作符handleNumber(s);}else{calculate(s); //计算}}//判断是一元操作符还是二元操作符,并根据操作符类型做计算void calculate( String op ){operatorPressed = true;if(firsttime&&!isUnary(op)){total = getNumberOnDisplay();firsttime = false;}if (isUnary(op)){handleUnaryOp(op);}else if (lastOp != null){handleBinaryOp(lastOp);}if (!isUnary(op)){ //存储上一次按下的操作符lastOp = op;}}//判断是否是一元操作符boolean isUnary(String s){return s.equals( "=" )|| s.equals( "cls" )|| s.equals( "sqrt" )|| s.equals( "+/-" )|| s.equals( "." );}//处理一元操作符void handleUnaryOp( String op ){if ( op.equals( "+/-" ) ){//将显示框中的数字取反number = negate(getNumberOnDisplay()+"");t_result.setText("");t_result.setText( number + "");return;}else if (op.equals(".")){handleDecPoint();return;}else if(op.equals("sqrt")){number = Math.sqrt(getNumberOnDisplay());t_result.setText("");t_result.setText(number+"");return;}else if(op.equals("=")){//在按下"="前已经按下一个二元运算符if(lastOp!=null&&!isUnary(lastOp)){handleBinaryOp(lastOp);}lastOp=null;firsttime=true;return;}else{clear();}}//处理二元运算符void handleBinaryOp(String op){if(op.equals("+")){total += number;}else if(op.equals("-")){total -= number;}else if(op.equals("*")){total *= number;}else if(op.equals("/")){try{ //异常处理total /=number;}catch(ArithmeticException ae){ }}else if(op.equals("pow"))total=Math.pow(total,number);// t_result.setText("");lastOp = null;// strV al = "";number = 0;t_result.setText(total+"");}//该方法用于处理数字按钮void handleNumber(String s){if (!operatorPressed){ //连接按下的数字按钮的值strV al+=s;}else{ //当按下操作符按钮时,清除strV al并存储输入的第一个数值operatorPressed = false;strV al = s;}//将strV al转换为doublenumber=new Double(strV al).doubleV alue();t_result.setText("");t_result.setText(strV al);}//该方法用于按下"."按钮void handleDecPoint(){operatorPressed = false;//如果该字符串中无".",放置一个"."在字符串末尾if ( strV al.indexOf( "." ) < 0 ) {strV al+=".";}t_result.setText("");t_result.setText( strV al );//该方法用于将一个数求反double negate( String s ){operatorPressed = false;//如果是一个整数,去掉小数点后面的0if ( number == ( int ) number ){s = s.substring(0, s.indexOf( "." ) );}//如果无"-"增加在该数的前面if ( s.indexOf( "-" ) < 0 ){strV al = "-"+s;}else{//如果有"-"则去掉strV al = s.substring( 1 );}return new Double( strV al ).doubleV alue();}//将显示框中的值转换为Doubledouble getNumberOnDisplay() {return new Double(t_result.getText()).doubleV alue();//清除屏幕并设置所有的标识void clear(){firsttime = true;lastOp = null;strV al = "";total = 0;number = 0;t_result.setText("0");}}public static void main(String args[]){Calc AppDemo c = new CalcAppDemo("简单的计算器程序");c.setV isible(true);}}四、程序测试程序运行结果如图:,经测试无较大BUG,基本正确。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java程序设计报告年级专业信息管理与信息系统学号学生姓名指导教师二○一四年六月一、所用到的表的结构及数据类型customer顾客表操作人员表列名说明数据类型约束用户名用户登录名nchar(10) 主码密码登录密码nchar(3) 非空职位担任职务nchar(10)1、登录功能打开Java文件Login.java运行后输入错误的用户名后出现:输入用户名Lucy 密码:123点击登录进入操作界面:2、添加功能下拉顾客信息系统菜单,选择添加客户信息添加信息前数据库客户表的内容:没有编号0000013添加客户0000013:数据库内表变为:注:0000015号是截图之前添加进去的3、查询功能下拉客户信息系统菜单,选择查询客户信息,输入客户编码0000013后点击确定查询此顾客:4、修改功能下拉菜单客户信息系统,选择修改客户信息,重新输入相应的正确信息,将错误的覆盖掉,此处将0000013张蔷年龄改为32:数据库表内内容:5、删除功能下拉菜单客户信息系统,选择删除客户信息,输入客户编码0000013点击确认:数据库信息变为:0000013号信息已经删除6、退出系统功能下拉菜单客户信息管理选择退出:然后就退出了界面。

三、程序源代码package LoginSystem;import java.sql.*;import java.io.*;import javax.swing.*;import java.awt.*;//登录界面public class Login extends JFrame{private TextField nameField = new TextField(10);private JPasswordField passwordField = new JPasswordField(15); private JButton loginButton = new JButton("登录");private JButton exitButton = new JButton("退出");private JLabel titleLabel = new JLabel("梦之路时尚天堂商品管理系统"); private JLabel userLabel = new JLabel("用户名");private JLabel pwdLabel = new JLabel("密码");private String user = null;private char[] pwd = null;public static void main(String args[]){Login frame = new Login();frame.setTitle("系统登录");frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);frame.setResizable(false);frame.setLocation(600,300);frame.pack();frame.setVisible(true);}public Login(){JPanel titlePanels = new JPanel();titlePanels.add(titleLabel);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);exitButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){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 用户名='"+user+"'";ResultSet rs = state.executeQuery(sql);rs.next();if(pwds.equals("")||user.equals("")){JOptionPane.showMessageDialog(null,"用户名或密码不能为空!","错误",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);}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();}}public static void closeState(Statement state) {try {if(state != null){state.close();}} catch (SQLException e) {e.printStackTrace();}}public static void closeRs(ResultSet rs) {try {if(rs != null){rs.close();}} catch (SQLException e) {e.printStackTrace();}}//连接数据库public static Connection getConnection(){String userName = "sa";String userPwd = "123";Connection conn=null;try {Class.forName(driverName);conn = DriverManager.getConnection(dbURL, userName, userPwd);}catch (Exception e){e.printStackTrace();}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();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("退出");menu1.add(item1);menu1.add(item2);menu1.add(item3);menu1.add(item4);menu1.add(item5);f.add(p);JLabel lb = new JLabel(new ImageIcon("SC.jpg"));p.add(lb);f.setVisible(true);f.setSize(WIDTH,HEIGHT);Toolkit kit=Toolkit.getDefaultToolkit();Dimension screenSize=kit.getScreenSize();int width=screenSize.width;int height=screenSize.height;int x=(width-WIDTH)/2;int y=(height-HEIGHT)/2;f.setLocation(x,y);item1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Add con1=new Add();tp.addTab("添加客户信息",con1);tp.setEnabledAt(0,true);tp.setTitleAt(0,"添加客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Update con2=new Update();tp.addTab("修改客户信息",con2);tp.setEnabledAt(0,true);tp.setTitleAt(0,"修改客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Select con3=new Select();tp.addTab("查询客户信息",con3);tp.setEnabledAt(0,true);tp.setTitleAt(0,"查询客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){Delect con4=new Delect();tp.addTab("删除客户信息",con4);tp.setEnabledAt(0,true);tp.setTitleAt(0,"删除客户信息");tp.setPreferredSize(new Dimension(500,200));tp.setTabPlacement(JTabbedPane.TOP);tp.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);}});item5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){System.exit(0);}});menu1.addMenuListener(new MenuListener(){public void menuSelected(MenuEvent event){item2.setEnabled(!item1.isSelected());}public void menuDeselected(MenuEvent event){}public void menuCanceled(MenuEvent event){}});}}//信息添加class Add extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Add(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定");JButton clear=new JButton("清空");JButton c=new JButton("关闭");JLabel name=new JLabel("姓名");JLabel phone=new JLabel("电话号码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("客户编码");JLabel years=new JLabel("年龄");Font font=new Font("Serief", Font.BOLD, 22);final JTextField nameinput=new JTextField(10);final JTextField phoneinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);JLabel title=new JLabel("顾客基本信息");title.setFont(font);title.setForeground(Color.blue);JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(title,constraints,0,0,4,1);add(num,constraints,0,4,1,1);add(name,constraints,0,1,1,1);add(phone,constraints,0,5,1,1);add(sex,constraints,0,3,1,1);add(years,constraints,0,2,1,1);add(nameinput,constraints,1,1,1,1);add(phoneinput,constraints,1,5,1,1);add(sexinput,constraints,1,3,1,1);add(numinput,constraints,1,4,1,1);add(yearsinput,constraints,1,2,1,1);add(ok,constraints,3,1,1,1);add(clear,constraints,3,3,1,1);add(c,constraints,3,5,1,1);c.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){removeAll();}});ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String nametext=nameinput.getText();String phonetext=phoneinput.getText();String sextext=sexinput.getText();String numtext=numinput.getText();String yearstext=yearsinput.getText();try{Connection con= DriverManager.getConnection(url,user,password);prestmt=con.prepareStatement("INSERT INTO customer顾客VALUES(?,?,?,?,?)" );prestmt.setString(5,phonetext);prestmt.setString(2,nametext);prestmt.setString(4,sextext);prestmt.setString(1,numtext);prestmt.setString(3,yearstext);prestmt.executeUpdate();con.close();JOptionPane.showMessageDialog(null,"信息添加成功","OK",RMATION_MESSAGE);}catch(SQLException ex) {}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){nameinput.setText("");phoneinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}//信息修改class Update extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Update(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定");JButton clear=new JButton("清空");JButton c=new JButton("关闭");JLabel name=new JLabel("姓名");JLabel phone=new JLabel("电话号码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("客户编码");JLabel years=new JLabel("年龄");final JTextField nameinput=new JTextField(10);final JTextField phoneinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);JLabel title=new JLabel("修改基本信息");Font font=new Font("Serief", Font.BOLD, 22);title.setFont(font);title.setForeground(Color.blue);//设置标签前景色JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(title,constraints,0,0,4,1);add(name,constraints,0,1,1,1);add(phone,constraints,0,5,1,1);add(sex,constraints,0,3,1,1);add(num,constraints,0,4,1,1);add(nameinput,constraints,1,1,1,1);add(phoneinput,constraints,1,5,1,1);add(sexinput,constraints,1,3,1,1);add(numinput,constraints,1,4,1,1);add(years,constraints,0,2,1,1);add(yearsinput,constraints,1,2,1,1);add(ok,constraints,3,1,1,1);add(clear,constraints,3,3,1,1);add(c,constraints,3,5,1,1);c.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){removeAll();}});ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event) {try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String nametext=nameinput.getText();String phonetext=phoneinput.getText();String sextext=sexinput.getText();String numtext=numinput.getText();String yearstext=yearsinput.getText();try{Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("update customer顾客set cname=?,csex=?,ctelephone=?,cage=? WHERE cno=?");prestmt.setString(1,nametext);prestmt.setString(2,sextext);prestmt.setString(5,numtext);prestmt.setString(4,yearstext);prestmt.setString(3,phonetext);prestmt.executeUpdate();prestmt.close();conn.close();JOptionPane.showMessageDialog(null,"信息修改成功","OK",RMATION_MESSAGE);}catch(SQLException ex) {ex.printStackTrace();}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){nameinput.setText("");phoneinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}//信息删除class Delect extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Delect(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定删除此顾客!");JButton clear=new JButton("清空");JLabel c=new JLabel("客户编码");Font font=new Font("Serief", Font.BOLD, 22);c.setFont(font);c.setForeground(Color.blue);//设置标签前景色final JTextField d=new JTextField(16);JLabel title=new JLabel("识别信息");JButton additionbutton=new JButton("添加");GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=6;add(c,constraints,0,1,1,1);add(d,constraints,1,1,1,1);add(ok,constraints,0,2,1,1);add(clear,constraints,1,2,1,1);ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;try{ Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("DELETE FROM customer顾客WHERE cno=?");prestmt.setString(1,d.getText());prestmt.executeUpdate();prestmt.close();conn.close();JOptionPane.showMessageDialog(null,"该顾客记录已删除","OK",RMATION_MESSAGE);}catch(SQLException ex) {}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){d.setText("");}});}}//顾客信息查询class Select extends JPanel{public void add(Component c,GridBagConstraints constraints,int x,int y,int w,int h){constraints.gridx=x;constraints.gridy=y;constraints.gridwidth=w;constraints.gridheight=h;add(c,constraints);}Select(){GridBagLayout lay=new GridBagLayout();setLayout(lay);JButton ok=new JButton("确定查询此顾客");JButton clear=new JButton("清空");JLabel c=new JLabel("客户编码");final JTextField d=new JTextField(16);JLabel title=new JLabel("识别信息");JButton additionbutton=new JButton("添加");JLabel name=new JLabel("姓名");JLabel id=new JLabel("客户编码");JLabel sex=new JLabel("性别");JLabel num=new JLabel("电话号码");JLabel years=new JLabel("年龄");final JTextField nameinput=new JTextField(10);final JTextField idinput=new JTextField(10);final JTextField sexinput=new JTextField(10);final JTextField numinput=new JTextField(10);final JTextField yearsinput=new JTextField(10);GridBagConstraints constraints=new GridBagConstraints();constraints.fill=GridBagConstraints.NONE;constraints.weightx=4;constraints.weighty=7;add(c,constraints,0,1,1,1);add(d,constraints,1,1,1,1);add(ok,constraints,0,2,1,1);add(clear,constraints,1,2,1,1);add(id,constraints,0,3,1,1);add(name,constraints,0,4,1,1);add(sex,constraints,0,5,1,1);add(num,constraints,0,7,1,1);add(years,constraints,0,6,1,1);add(idinput,constraints,1,3,1,1);add(nameinput,constraints,1,4,1,1);add(sexinput,constraints,1,5,1,1);add(numinput,constraints,1,7,1,1);add(yearsinput,constraints,1,6,1,1);ok.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){{try{}catch(ClassNotFoundException ex) {}String user="sa";String password="123";Statement stmt;ResultSet rs;PreparedStatement prestmt;String dtext=d.getText();try{Connection conn= DriverManager.getConnection(url,user,password);prestmt=conn.prepareStatement("Selectcno,cname,csex,ctelephone,cage FROM customer顾客WHERE cno=?");prestmt.setString(1,d.getText());rs=prestmt.executeQuery();if(rs.next()){idinput.setText(rs.getString(1));nameinput.setText(rs.getString(2));sexinput.setText(rs.getString(3));numinput.setText(rs.getString(4));yearsinput.setText(rs.getString(5));}else{JOptionPane.showMessageDialog(null,"未查到该顾客记录","ERROR",RMATION_MESSAGE);}conn.close();}catch(SQLException ex) {}}}});clear.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent Event){d.setText("");idinput.setText("");nameinput.setText("");sexinput.setText("");numinput.setText("");yearsinput.setText("");}});}}。

相关文档
最新文档