面向对象课程设计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实验报告面向对象

实验报告班级:姓名:学号:课程名称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实验报告面向对象

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

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

课程设计使用面向对象的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可以把各种丰富类型的数据写入磁盘,在实际操作中用的这种方法,也可以解决很多不同类对象。

JAVA面向对象程序设计课程报告

JAVA面向对象程序设计课程报告

JA V A面向对象程序设计课程报告学院____ 自动化 ____________专业____ 自动化 ____________年级班别__13级自动化(卓越工程师一班)学号_____ _____________学生姓名_____ 鲁梦如______________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;// 计算的中间结果。

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

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

滨州学院课程设计(学年论文)题目:人机互动猜拳小游戏系院计算机科学技术系专业计算机网络技术班级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();}}。

面向对象程序设计大作业报告模板

面向对象程序设计大作业报告模板

面向对象程序设计大作业------计算器类学院名称信息科学与工程学院专业班级学生姓名 ***** 学号指导教师完成时间: 2012年06月25日计算器类1.编程目的1.1、巩固并加深学生对C++语言程序设计知识的理解;1.2、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别;1.3、进一步掌握和应用VC++ 6.0集成开发环境;1.4、提高运用C++语言解决实际问题的能力;1.5、初步掌握开发小型实用软件的基本方法,能独立设计、实现基本的MIS系统;1.6、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。

2.系统简介2.1系统目标我们在学习生活中,常会遇到一些繁杂的数值运算,这时候我们就必须用到科学计算器,所以便着手开发了这个计算器程序,以便用于自己的学习工作。

要计算功能有以下几个方面:加法,减法,乘法,除法,求Sin,求Cos。

2.2主体功能1、十进制数的加、减、乘、除、乘方等简单计算。

2、科学计算函数,包括正弦、余弦、正切、余切、指数等函数运算。

3、进制间的相互转换函数。

2.3开发环境W indows操作系统,VC++ 6.0, OFFICE WORD3.编程思路3.1我们建立一个calculator类,再通过向这个类中添加各种函数,逐渐完善计算器的各种功能。

3.2对calculator类中的各个函数进行定义,使之能进行所需的运算。

3.3最后通过主函数完成运算。

4.总体设计(附类图)图3-1 系统流程图5.源代码#include<iostream>#include<cmath>#include<string>using namespace std;const double pi = 3.14159265;const double e = 2.718281828459;const int SIZE = 1000;typedef struct node{char data;node *next;}node;typedef struct stack_num//存储数的栈{double *top;double *base;}stack_num;typedef struct stack_char//存储运算符号的栈{char *top;char *base;}stack_char;stack_num S_num;stack_char S_char;char fu[18] = {'\n', ')', '+', '-', '*', '/', '%', '^','Q', 'L', 'C', 'S', 'T', 'c', 's', 't', '('};int compare[1000];double shu[1000];double dai_result;int biao = 0;char line[SIZE];void init()//初始化{compare[fu[0]] = -2;//用数字的大小表现出符号的优先级compare[fu[1]] = -1;compare[fu[2]] = 2;compare[fu[3]] = 2;compare[fu[4]] = 4;compare[fu[5]] = 4;compare[fu[6]] = 4;compare[fu[7]] = 5;for(int i = 8; i <= 15; i++)compare[fu[i]] = 6;compare[fu[16]] = 7;S_num.base = (double*)malloc(sizeof(double)*SIZE);//为栈开辟空间S_char.base = (char*)malloc(sizeof(char)*SIZE);//同上S_num.top = S_num.base;S_char.top = S_char.base;}void push_num(double n)//数字进栈{* ++S_num.top = n;}void push_char(char c)//运算符号进栈{* ++S_char.top = c;}double pop_num()//数字出栈{double m = *S_num.top;S_num.top--;return m;}char pop_char()//运算符号出栈{char cc = *S_char.top;S_char.top--;return cc;}char get_top_char()//得到运算符号的栈中最顶端的运算符号{return *S_char.top;}double operate(double y, char c, double x){double r;if(c == '-')r = x - y;else if(c == '+')r = x + y;else if(c == '/' && y != 0)r = x / y;else if(c == '*')r = x * y;else if(c == '^'){r = 1;for(int i = 1; i <= y; i++)r *= x;}else if(c == '%'){int r0 = (int)x % (int)y;r = double(r0);}return r;}double operate_one(double one, char cc){double r;if(cc == 'Q')r = sqrt(one);else if(cc == 'C')r = cos(one);else if(cc == 'S')r = sin(one);else if(cc == 'T')r = tan(one);else if(cc == 'c')r = acos(one);else if(cc == 's')r = asin(one);else if(cc == 't')r = atan(one);return r;}double operate_L(double a, double b, char dian)//求对数的值{double r = log(b) / log(a);return r;}double compute()//对整个表达式的计算{char c;//表示运算符号int p = 0;//用于shu[++p], 先初始化int i, j;init();//进行初始化push_char('\n');line[strlen(line)] = '\n';line[strlen(line)+1] = '\0';if(biao)push_num(dai_result);biao = 0;for(i = 0; line[i] != '\0';){int flag = 0;int flag1 = 1;//标记是否是运算符号int flag2 = 1;//标记是否出现'_';double h = 0;int ge;//位数int biao_dian = 0;//是否是小数的类型while(1){flag1 = 1;for(j = 0; j <= 16; j++){if(line[i] == fu[j]){flag1 = 0;break;}}if(line[i] == '_'){break;}if(line[i] == '.'){i++;ge = 0;biao_dian = 1;}if(line[i] == 'P'){shu[++p] = pi;i++;break;}if(line[i] == 'E'){shu[++p] = e;i++;break;}if(flag1){h = h * 10 + (line[i] - '0');flag = 1;i++;if(biao_dian)ge++;}elsebreak;}if(flag){if(biao_dian){int r = 1;for(int k = 1; k <= ge; k++)r *= 10;h /= r;}shu[++p] = h;//把转化而来的数字存于数组}if(line[i] == '+')shu[++p] = -1;else if(line[i] == '-')shu[++p] = -2;else if(line[i] == '*')shu[++p] = -3;else if(line[i] == '/')shu[++p] = -4;else if(line[i] == '%')shu[++p] = -5;else if(line[i] == '^')shu[++p] = -6;else if(line[i] == 'Q')shu[++p] = -7;else if(line[i] == 'L')shu[++p] = -8;else if(line[i] == 'C')shu[++p] = -9;else if(line[i] == 'S')shu[++p] = -10;else if(line[i] == 'T')shu[++p] = -11;else if(line[i] == 'c')shu[++p] = -12;else if(line[i] == 's')shu[++p] = -13;else if(line[i] == 't')shu[++p] = -14;else if(line[i] == '(')shu[++p] = -15;else if(line[i] == ')')shu[++p] = -16;else if(line[i] == '\n')shu[++p] = -17;i++;}i = 1;while(shu[i] != -17 || get_top_char() != '\n'){double m = shu[i];if(m >= 0){push_num(m);i++;}else{if(m == -1)c = '+';else if(m == -2)c = '-';else if(m == -3)c = '*';else if(m == -4)c = '/';else if(m == -5)c = '%';else if(m == -6)c = '^';else if(m == -7)c = 'Q';else if(m == -8)c = 'L';else if(m == -9)c = 'C';else if(m == -10)c = 'S';else if(m == -11)c = 'T';else if(m == -12)c = 'c';else if(m == -13)c = 's';else if(m == -14)c = 't';else if(m == -15)c = '(';else if(m == -16)c = ')';else if(m == -17)c = '\n';char ch = get_top_char();//得到最顶端运算符号if(compare[ch] < compare[c])//运算符号级别的比较{push_char(c);i++;}else if(ch == '(' && c == ')'){pop_char();i++;}else if(compare[ch] >= compare[c] && ch != '(' && ch != '\n'){if(ch == 'Q' || ch == 'C' || ch == 'S'|| ch == 'T'|| ch == 'c' || ch == 's' || ch == 't'){double one = pop_num();char dian = pop_char();push_num(operate_one(one, dian));}else if(ch == 'L'){double one_L = pop_num();double two_L = pop_num();char dian = pop_char();push_num(operate_L(two_L, one_L, dian));}else{double x = pop_num();double y = pop_num();char dian = pop_char();if(dian == '/' && x == 0)//判断是否除了"零"{cout<<"由于您除了零,结果将是错误的"<<endl;}push_num(operate(x, dian, y));//把进行一次计算的结果入栈}}else{push_char(c);i++;}}}double result = pop_num();//得到结果return result;}int check_kuohao()//检查表达式括号是否匹配{int i, f = 0;int kuo[SIZE], key = 1;memset(kuo, 0, sizeof(kuo));for(i = 0; line[i] != '\0'; i++){if(line[i] == '(')kuo[++f] = 1;else if(line[i] == ')'){if(kuo[f] == 1){kuo[f] = 0;f--;}else{key = 0;break;}}}if(key && f == 0)return 1;elsereturn 0;}int check_char()//检查运算符号是否合法(如: 1 +* 4) {int i, ge;for(i = 0; line[i] != '\0'; ){ge = 0;while(line[i] == '+' || line[i] == '-' || line[i] == '*'|| line[i] == '/' || line[i] == '%' || line[i] == '^'|| line[i] == 'Q' || line[i] == 'L' || line[i] == 'S'|| line[i] == 'C' || line[i] == 'T' || line[i] == 's'|| line[i] == 'c' || line[i] == 't'){ge++;i++;}i++;}if(ge >= 3)return 0;elsereturn 1;}void output(double result)//打出结果{printf("所得结果是: ");cout<<result<<endl;}void check()//检查表达式是否合法{void introduce();char cc;//决定计算器按哪种功能进行计算double result;//结果void input();//定义if( check_kuohao() && check_char() )//看是否合法, 合法则计算{result = compute();output(result);cout<<"输入一个字符'M'或'D'或'F', 决定是否继续: "<<endl;while(cin>>cc){if(cc == 'M'){system("cls");introduce();printf("您上次所得结果为: ");cout<<result<<endl;cout<<"在上次计算结果的基础上, 请继续输入想计算的表达式"<<endl;dai_result = result;biao = 1;input();//输入表达式break;}else if(cc == 'D'){system("cls");introduce();cout<<"计算器已清零, 请输入您所要计算的表达式"<<endl;input();//输入表达式break;}else if(cc == 'F'){system("cls");cout<<"计算器关闭, 谢谢使用!"<<endl;break;}else{cout<<"所输入字符无效, 请输入一个字符'M'或'D'或'F'!"<<endl;continue;}}}else//不合法,分两种不合法{if(check_kuohao() == 0 && check_char() == 1){cout<<"您所输入的表达式括号不匹配, 请重新输入:"<<endl;input();//输入表达式}else{cout<<"您所输入的表达式不合法, 请重新输入:"<<endl;input();//输入表达式}}}void tackle_fuhao()//处理负号{node *root, *head, *p, *q, *p1;root = head = new node;head->next = NULL;int i;for(i = 0; line[i] != '\0'; i++)//建立链表{p = new node;p->data = line[i];p->next = head->next;head->next = p;head = p;}q = (node*)malloc(sizeof(node));head = root;if(root->next->data == '+' || root->next->data == '-')//处理第一个字符{p = new node;p->data = '0';p->next = head->next;head->next = p;}if(root->next != NULL){for(q = root->next; q; q = q->next){if(q->data == '(' && (q->next->data == '-' || q->next->data == '+')){p = new node;p->data = '0';p->next = q->next;q->next = p;}}}p1 = new node;int qi = -1;for(p1 = root->next; p1; p1 = p1->next){line[++qi] = p1->data;}line[++qi] = '\0';}void input()//输入{cin>>line;if(biao == 0)tackle_fuhao();//处理负号check();//检查表达式是否合法}void introduce()//对计算器的符号功能的简要介绍{cout<<"★★★★★★★★★欢迎使用本计算器★★★★★★★★★"<<endl;cout<<"*******************计算器简要介绍*******************"<<endl;cout<<"C(cos) S(sin) T(tan) a(arccos) c(arcsin) "<<endl;cout<<"7 8 9 / on t(arctan) "<<endl;cout<<"4 5 6 * % L(log)"<<endl;cout<<"1 2 3 - M(M+) Q(sqrt) "<<endl;cout<<"0 . + ^ F(off) Enter(=) "<<endl;cout<<"☆☆☆☆☆☆☆关于计算器的一些输入说明☆☆☆☆☆☆☆"<<endl;; cout<<"*******对于对数输入 L2_5 表示以2为底5的对数*********"<<endl; cout<<"*M(继续上次的计算,如:上次结果为10,现输入+10.5*2)*"<<endl; cout<<"*****************D(清零并继续输入)******************"<<endl;cout<<"********************F(程序结束)*********************"<<endl;cout<<"**输入 P 就代表输入圆周率, 输入 E 代表输入自然对数**"<<endl<<endl; }void if_start()//是否启动计算器{introduce();//对计算器的简要介绍cout<<"现在,请输入您所要计算的表达式"<<endl;input();//输入所要计算的表达式}int main(){if_start();//调用是否启动计算器函数return 0;}6.测试(主界面及各功能模块的运行图及说明)进入主菜单,选择要进行的运算。

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实验报告——对象和类

java实验报告——对象和类

成绩:面向对象原理与Java实践课程实验报告实验1:对象和类姓名 ____班级 ____学号 ____实验地点 ____实验时间 ____指导教师 ____面向对象原理与Java实践课程实验报告实验1:对象和类一、实验目的:●掌握类的定义及应用方法●掌握对象的创建方法,了解实例变量、实例方法和静态字段的特性●体会Java在类和对象的设计中体现的面向对象的思想二、实验要求:●具备Java基础知识(教材第1、2章内容)●掌握Java中对象和类的基本概念和应用方法(教材第3章内容)●设计类时注意保证类的封装性●编写程序完成以下实验内容并上交实验报告(包括电子文档与纸质文档)三、实验内容:设计并实现一个“广石化院电信学院学生通信录”系统。

系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作(其中“查找”功能除能够查找某个学生的信息之外,还能够显示所有学生的信息)。

记录的存储可采用数组或链表的方式。

四、设计思路:为了实现该系统,首先要需要两个类;一个类为主界面服务,用于接收用户输入信息以及做出相关反应;一个类为学生信息服务,定义学生通讯录信息的各个字段,以及操作字段的各个方法,考虑到部分字段的属性问题,所以将操作方法都写在学生类中,不再另外放置在其他类中。

学生信息将会采用学生类的对象数组来储存。

五、程序源代码:下面是ZhuJieMian 主界面类package pkg_TXL;import java.util.Scanner;public class ZhuJieMian{/**** 该类为通讯录系统的主界面提供主要功能显示,以及负责主菜单与子菜单的正常跳转*/public static void main(String[] args){// TODO Auto-generated method stub//XueShengXinXi[] Stu=ChuShiHua(); //初始化系统数据XueShengXinXi[] Stu=new XueShengXinXi[100];Stu[0]=new XueShengXinXi("专业", "班级", "姓名", "性别", "电话", "家庭住址");Stu[1]=new XueShengXinXi("自动化", "自动化10-1", "张三", "男", "63256", "fnhjfdhsdbh");Stu[2]=new XueShengXinXi("自动化", "自动化10-2", "李四", "女", "653256", "nfhggdfddhsdbh");Stu[3]=new XueShengXinXi("电子", "电子10-1", "王五", "男", "6156", "fnhvjbh");Stu[4]=new XueShengXinXi("电子", "电子10-2", "小红", "女", "63956", "asdfnhjbh");Stu[5]=new XueShengXinXi("网络", "网络10-1", "小明", "男", "656", "nfgdgfnhjbh");Stu[6]=new XueShengXinXi("网络", "网络10-2", "小芳", "女", "62215", "nfgdmmmdfhbdsh");Stu[7]=new XueShengXinXi("计算机", "计算机10-1", "黄龙", "男", "65584", "bbbdddfnhjbh");Stu[8]=new XueShengXinXi("计算机", "计算机10-2", "陈玲", "女", "666114", "mjgfddddfnhjbh");Stu[9]=new XueShengXinXi("测控", "测控10-1", "赵小斌", "男", "644814", "fthnrehbkjhjbh");Stu[10]=new XueShengXinXi("测控", "测控10-2", "钱颖", "女", "63641", "dbfsvnnhjbh");Stu[11]=new XueShengXinXi("电信", "电信10-1", "孙武", "男", "6321514", "mmhmgvvdfnhjbh");Stu[12]=new XueShengXinXi("电信", "电信10-2", "李雨", "女", "6314", "43ghffvvdfnhjbh");for(int x=13;x<Stu.length;x++){Stu[x]=new XueShengXinXi();}System.out.println("欢迎使用广石化电信学院通讯录系统!");ZhuJieMian: for(int exit=0;exit==0;)//exit为退出主菜单的指示变量,0为不退出,非0为退出{System.out.println();System.out.println("************************************");System.out.println("****************主菜单****************");System.out.print(" 1。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java 程序设计报告
年级专业 信息管理与信息系统 学号 学生姓名 指导教师
二○一四年六月
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("退出");
相关文档
最新文档