Java程序设计综合实验报告样式

合集下载

《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语言程序设计实验报告篇一:Java实验八报告《Java语言程序设计》实验报告学生姓名:郭倩班级:信息112学号:201152275208实验地点:经管实验中心证券实验室指导教师:赵利平实验日期:实验环境:Windows 2000+JDK1.61. 实验目的(1)理解子类派生的概念(2)学习创建子类对象(3)掌握方法覆盖的使用2.实验内容(1)设计三个类:完成实验教材P52页程序清单4-2;(2)通过编制一个程序来加深对嵌套类、内部类和局部类的理解:完成实验教材P56页程序清单4-3;2. 实验过程报告撰写具体要求:上述实验内容要求写出源代码及运行结果。

实验内容(1)://Polymorphism.abstract class Student{final static int CourseNo=3;String name;String type;int[] courses;String courseGrade;public Student(String name){=name;courses=new int[CourseNo];courseGrade=null;}public abstract void calculateGrade();public String getName(){return name;}public String getType(){return type;}public String getCourseGrade(){return courseGrade;}public int getCourseScore(int courseNumber){return courses[courseNumber];}public void setName(String name){=name;}public void setType(String type){this.type=type;}public void setCourseScore(int courseNumber,int courseScore){this.courses[courseNumber]=courseScore;}}class Undergraduate extends Student{public Undergraduate(String name){super(name);type="本科生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=80&&average<100) coursegrade="优秀" else="" average="">=70&&average<80) coursegrade="良好" else="" average="">=60&&average<70) coursegrade="一般" else="" average="">=50&&average<60) courseGrade="及格";else courseGrade="不及格";}}class Postgraduate extends Student{public Postgraduate(String name){super(name);type="研究生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=90&&average<100) coursegrade="优秀" else="" average="">=80&&average<90) coursegrade="良好"else="" average="">=70&&average<80) coursegrade="一般" else="" average="">=60&&average<70) courseGrade="及格";else courseGrade="不及格";}}public class Polymorphism{public static void main(String[] args){Student[] students=new Student[5];students[0]=new Undergraduate("陈建平");students[1]=new Undergraduate("鲁向东");students[2]=new Postgraduate("匡晓华");students[3]=new Undergraduate("周丽娜");students[4]=new Postgraduate("梁欣欣");for(int i=0;i<5;i++){students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for(int i=0;i<5;i++){students[i].calculateGrade();}System.out.println("姓名"+" 类型"+" 成绩");}}System.out.println("-------------------------"); for(int i=0;i<5;i++){ System.out.println(students[i].getName()+" "+students[i].getType()+" "+students[i].getCourseGrade()); }(1) 都有(2) Student[] students=new Student[5];(3) Student是抽象的,不能用new操作符创建抽象类的实例。

JAVA程序设计综合实验报告(文本编辑器)

JAVA程序设计综合实验报告(文本编辑器)
JSplitPane splitpane;
JDesktopPane desk;
FirstWindow(String s){
setTitle(s);
setSize(800,600);
setLocation(120,120);
setVisible(true);
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
MyInternalFrame internalFrame=(MyInternalFrame)desk.getSelectedFrame();
JTextArea text=internalFrame.getJTextArea();
String str;
op1.setVisible(true);
try{
item1_New.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK ));
item1_Open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK ));
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
//剪切
item2_Cut.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
addInternalFrameListener(new InternalFrameAdapter(){

《JAVA程序设计》实验报告5

《JAVA程序设计》实验报告5

《JAVA程序设计》实验报告5实验单元五Java 类的应用、继承实验六Java类的应用实验时间: 4.4【实验目的】1、定义自己的Java类。

2、能够应用类。

【实验环境】JDK、Eclipse【实验内容】1.定义一个学生类,包括属性:学号、姓名、年龄(取值介于0-100之间)、成绩(取值介于0-100之间),定义一个方法显示学生信息。

并测试该类。

2.定义一个长方形类,有长、宽属性,并给出计算面积及周长的方法。

并测试该类。

3.设计一个人类Person,包含姓名,年龄,性别基本信息,修饰为私有的设计一个人类Person,包含姓名,年龄,性别基本信息,修饰为私有的;定义构造方法,用来初始化基本信息;定义方法show,用来显示基本信息值。

测试该类。

4.建立一个名叫Cat的类:属性:姓名、毛色、年龄行为:显示姓名、喊叫请编写主类:创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

5.类的成员变量请定义一个交通工具(Vehicle)的类其中有: 属性速度(speed)体积(size)等等方法移动(move())设置速度(setSpeed(int speed))加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象并通过方法给它初始化speed,size的值并且通过打印出来。

另外调用加速减速的方法对速度进行改变。

【详细分析】(此项由学生自己完成)【实验源码】(此项由学生自己完成)1.定义一个学生类,包括属性:学号、姓名、年龄(取值介于0-100之间)、成绩(取值介于0-100之间),定义一个方法显示学生信息。

并测试该类。

代码:package ch5;public class Student {public int no;public String name;public int age;public int cg;public void setNo(int no){this.no=no;}public void setName(String name){=name;}public void setAge(int age){this.age=age;if(age>0&&age<=100);elseSystem.out.println("请输入合法的年龄值:");}public void setCg(int cg){this.cg=cg;if(cg>0&&cg<=100);elseSystem.out.println("请输入合法的成绩值:");}}package ch5;public class StudentText {public static void main(String[] args) {// TODO Auto-generated method stubStudent stu=new Student();stu.setNo(12);System.out.println("学号:"+stu.no);stu.setName("lihua");System.out.println("姓名:"+);stu.setAge(18);System.out.println("年龄:"+stu.age);stu.setCg(21);System.out.println("成绩:"+stu.cg);}}2.定义一个长方形类,有长、宽属性,并给出计算面积及周长的方法。

JAVA语言程序设计实验报告

JAVA语言程序设计实验报告

实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习实验三、面向对象编程实验(4)实验四、异常处理实验实验五、小应用程序实验实验六、图形图像实验实验七、GUI(图形用户接口)实验(4)实验八、多线程实验实验九、输入输出流实验(4)实验十、数据库应用实验(4)实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。

二、预习内容安装工具软件的基本方法。

三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容安装Eclipse及JA V A的核心编译程序J2SDK。

1、打开Eclipse的安装盘安装Eclipse。

2、在相同目录下安装J2SDK。

3、打开Eclipse软件对J2SDK文件进行配置。

4、编写一应用程序,在屏幕上显示“HELLO WORLD”和爱心标志。

Pulic class Hello{public static void main(String args[]){//在屏幕上显示“HELLO WORLD”和爱心标志}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。

实验结果五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、说明本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。

应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。

(1)编辑A verage.java。

class A verage{public static void main(String args[ ]){double n,sun=0;for (int l=0;l<args.legth;l++){sum=sum+Double.valueOf(arg[l].doubleV alue();)}n=sum/args.length;System.out.println(“average=”+n);}}命令行参数:12.34 34.45 21212121注意:1)参数的个数可以利用args.length来取得。

java程序设计实践报告范例2篇

java程序设计实践报告范例2篇

java程序设计实践报告范例2篇【java程序设计实践报告例一】2014年暑假的到来,预计着大学三年的终结,作为网络工程专业的我还在迷惘和浑噩中度过。

然而有幸参加学校组织的实训是幸福的。

从学校走上社会,来到这个培训,发现了个人的能力尤为重要,在学校也学了很多有关计算机的理论知识,但是实践操作的机会很少导致个人动手能力极差。

实训中,我们以小组的方式进行项目训练,这也反映了今后在工作岗位是团体的战斗,而不是个人的表演,但是每个人也扮演着必不可少的角色。

Java语言是这次实训的“主菜”,虽然在学校从未接触过这门语言,但是有着老师滔滔不绝、苦口婆心的讲解,也在课堂的讲解中渐渐地了解了这门当今热门的程序语言,直到打飞机游戏结束才恍然大悟:原来世界是如此美好,游戏是这样出来的。

接着是一个实体项目:打飞机游戏,而这个游戏的产生将由我们自己来进行。

这次实习的目的是为了提高我的专业技能、实践能力、以及让我了解一些实际的工作情况。

对我在正式工作前有很重要的意义,不论是专业技能,还是综合素质,以及实际中的人际关系都有了更加深刻的体会,让我在正式工作前有了一笔很珍贵的经验。

这次实习的主要内容是使用Java计算机编程语言来编写一个打飞机的游戏,其目的就是在这个实训期间了解整个软件的制作过程,以及各个环节中的细节,当学会了这些环节后,我们在以后的工作中才能更好的利用自己的所学知识去完成公司交给我的任务。

这个项目我们以小组的形式共同将其完成,以模拟实际软件制作的过程,尽最大程度的将我们所学到的知识转化成实际的能力。

为真正的项目做好充分的准备,让我们可以在实习过后的正式工作中,有准备的去面对。

公司的最终目的就是希望我们能了解实际项目的制作,并初步的理解各个环节的意义。

而让我们用项目进行实际制作就是为了让我们能更好的理解项目制作中各个流程的意义以及项目制作过程中的团队是如何合作的。

它作为我们走出学校和踏入社会的过渡阶段会让我们有很多的收获,我希望自己能在这段时间的实习中有良好的表现和突出的成绩为自己以后打好基础。

java实验报告完整版

java实验报告完整版

实验报告之杨若古兰创作(计算机与信息工程学院实验中间)学期: 2014-2015课程名称:《Java程序设计实验》班级:信息1202姓名:方逸梅学号: 1212100231指点老师:费玉莲《Java程序设计》独立实验教学安插一、实验的教学方式、安插及实验环境(一)教学方式对照本课程的实验教材,实验一至实验十一,由教师提示实验道理、方法、步调等内容,在教师的指点下,先生独立完成程序设计及调试工作.实验十二的内容由先生自行设计完成.(二)教学安插学时数:30课时学时安插:每次实验3学时,从学期第五周开始,共十次上机实验.(三)实验环境实验环境为JDK 1.6.(四)具体安插地点:信息大楼实验室.辅导:每个班次一位辅导老师,准绳上由任课老师担任.登记:实验完成,由辅导老师登记实验纪录.先生:实验做完,完成实验陈述内容,并在学期末上交实验册.老师:批改实验,成绩与平时成绩一路占期末的30%.二、实验的具体内容和请求见实验陈述.浙江工商大学计算机与信息工程学院实验陈述(1)日期:地点:成绩:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验道理和内容:一、实验目的:熟悉Java开发环境及简单程序Java设计.二、实验道理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运转Java 程序.三、实验内容及请求:1.下载、安装并设置Java SDK 软件包.2.熟悉Eclipse编辑软件.3.把握运转Java 程序的步调.4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”.请求:请同学把豫备常识、步调、程序框图、调试好的程序及存在的成绩写在上面(不敷可以附页).程序一publicclass hello {publicstaticvoid main(String[] args) {for(int i=0;i<=4;i++){System.out.println("Hello java! 欢迎使用!");}}}结果示意图1存在的成绩1、JAVA 存在大小写,由于system没有区分大小写所以出现编译错误.2、用DOS进入java源程序时,先要用cd转入java源程序所在路径.程序二import java.awt.Graphics;import java.applet.Applet;publicclass helloworld extends Applet{publicvoid paint(Graphics g){g.drawString("Hello java! 欢迎使用!",25,25);}}方法1直接将程序二打入到java利用程序中,可调出如下图界面结果示意图2程序三<HTML><HEAD><TILLE> helloworld2</TILLE>></HEAD><BODY><applet code=helloworld width="300" height="200"></applet></BODY></HTML>该程序是网页的脚本程序,html 文件类型,可直接双击打开.浙江工商大学计算机与信息工程学院实验陈述(2)日期:地点:成绩:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验道理和内容:一、实验目的:Java结构化程序设计.二、实验道理:声明分歧数据类型的变量,使用关系运算符和逻辑运算符,使用表达式语句与复合语句,使用选择语句,使用轮回语句.三、实验内容及请求:1.编程输入先生的进修成绩的等级,给出响应的成绩范围.设A级为85分以上(包含85);B级为70分以上(包含70分);C级为60分以上(包含60分);D级为60分以下.分别使用if语句和switch语句实现. 2.使用continue语句实现:将100~300之间的不克不及被3整除的数输出.3.使用break语句实现记数:从1~100,当数到78时程序终止.4、分别使用while、do-while和for语句编程,找出所有的水仙花数并输出. 水仙花数是三位数,它的各位数字的立方和等于这个三位数本人,例如:371=33+73+13,371就是一个水仙花数.请求:请同学把豫备常识、步调、程序框图、调试好的程序及存在的成绩写在上面(不敷可以附页).1.编程输入先生的进修成绩的等级,给出响应的成绩范围.设A级为85分以上(包含85分);B级为70分以上(包含70分);C级为60分以上(包含60分);D级为60分以下.分别使用if语句和switch语句实现. IF语句import java.util.*;publicclass dengji {publicstaticvoid main(String[] args){System.out.println("请输入等级:");Scanner sc=new Scanner(System.in);String grade=sc.next();if(grade.equals("A"))System.out.println("范围在[85,100)");elseif(grade.equals("B"))System.out.println("范围在[70,85)");elseif(grade.equals("C"))System.out.println("范围在[60,70)");elseif(grade.equals("D"))System.out.println("范围在[0,60)");elseSystem.out.println("输入有误!");}}Switch 语句publicclass test{publicstaticvoid main(String[] args){char grade=' ';System.out.println("请输入等级:");try{grade =(char)System.in.read();}catch(Exception e){}switch(grade){case 'A':System.out.println("范围在85~100");break;case 'B':System.out.println("范围在70~85");break;case 'C':System.out.println("范围在60~70");break;case 'D':System.out.println("范围在60分以下");break;default:System.out.println("输入有误!");}}}2.使用continue语句实现:将100~300之间的不克不及被3整除的数输出.publicclass sushu {publicstaticvoid main(String[] args) {for(int i=100;i<300;i++){if(i%3==0)continue;System.out.println(i);}}}3.使用break语句实现记数:从1~100,当数到78时程序终止. publicclass stop {publicstaticvoid main(String[] args) {for(int i=1;i<=100;i++){System.out.println(i);if(i==78)break;}}}4、分别使用while、do-while和for语句编程,找出所有的水仙花数并输出. 水仙花数是三位数,它的各位数字的立方和等于这个三位数本人,例如:371=33+73+13,371就是一个水仙花数.For语句publicclass num1 {publicstaticvoid main(String[] args) {int x,y,z,i,sum;for(i=100;i<1000;i++){z=i%100%10;y=i/10;y=y%10;x=i/100;sum=x*x*x+y*y*y+z*z*z;if(sum==i)System.out.println(sum+"是水仙花数");}}}While语句publicclass num1 {publicstaticvoid main(String[] args) {int x,y,z,i=100,sum;while(i<1000){z=i%100%10;y=i/10;y=y%10;x=i/100;sum=x*x*x+y*y*y+z*z*z;if(sum==i)System.out.println(sum+"是水仙花数");i++;}}}Do-while语句publicclass num1 {publicstaticvoid main(String[] args) {int x,y,z,i=100,sum;do{z=i%100%10;y=i/10;y=y%10;x=i/100;sum=x*x*x+y*y*y+z*z*z;if(sum==i)System.out.println(sum+"是水仙花数");i++;}while(i<1000);}}浙江工商大学计算机与信息工程学院实验陈述(3)日期:地点:成绩:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验道理和内容:一、实验目的:面向对象程序设计设计(一)二、实验道理:创建Applet 利用小程序,创建对象并使用对象,编写显示当前日期和时间的程序,使用润色符,方法中参数传递的练习,类的继承性练习,类的多态性.三、实验内容及请求:1、一个景区根据游人的年龄收取分歧价格的门票.请编写游人类,该类包含两个成员域:年龄和票价;两个方法:设置年龄和根据年龄段决定能够购买的门票价格并输出.然后写出该类实例测试该类(类的基本实现)2.(1)编写一个圆类Circle,该类具有:①一个成员变量Radius(私有,浮点型); // 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类.还具有:①一个成员变量double hight(私有,浮点型); // 圆柱体的高;②构造方法Cylinder (double r, double h ) //创建Circle对象时将半径初始化为r③成员方法double getVolume( ) //获取圆柱体的体积void showVolume( ) //将圆柱体的体积输出到屏幕编写利用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积.请求:请同学把豫备常识、步调、程序框图、调试好的程序及存在的成绩写在上面(不敷可以附页).1、import java.util.*;publicclass visitor {int age;int price;publicvoid setage(int age){this.age=age;}publicvoid ticket(){if(age>0&&age<=8)price=0;elseif(age<22)price=40;elseif(age<60)price=80;elseprice=20;System.out.println("门票价格"+price);}publicstaticvoid main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入年龄:");visitor youren=new visitor();youren.setage(sc.nextInt());youren.ticket();}}2、publicclass circle {double radius;circle(){radius=0.0;}circle(double r){radius=r;}publicdouble getarea(){return Math.PI*radius*radius;}publicdouble getperimeter(){return 2*Math.PI*radius;}void show(){System.out.println("圆的半径:"+radius); System.out.println("圆的周长:"+getperimeter()); System.out.println("圆的面积:"+getarea());}}publicclass cylinder extends circle{double height;cylinder(double r,double h){super(r);height=h;}double getvolume(){return height*getarea();}void showvolume(){System.out.println("圆柱体的体积:"+getvolume());}}publicclass test1 {publicstaticvoid main(String[] args) {circle ci= new circle(10.0);ci.show();cylinder cy=new cylinder(3.0,4.0);cy.show();cy.showvolume();}}浙江工商大学计算机与信息工程学院实验陈述(4)日期: 2014.11.5 地点:信息楼227 成绩:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验道理和内容:一、实验目的:数组、字符串与异常处理.二、实验道理:使用数组,使用字符串与字符串类,处理异常.三、实验内容及请求:1、编写一程序,计算矩阵A={{7,9,4},{5,6,8}}与矩阵B={{9,5,2,8},{5,9,7,2},{4,7,5,8}}相乘,把结果存入矩阵C,并在屏幕输出结果.2、使用冒泡排序(数组,数字为:63,4,24,1,3,5)3、编写程序,测试字符串“你好,欢迎来到Java世界”的长度,将字符串的长度转换成字符串进行输出,并对其中的“Java”四个字母进行截取,输出截取字母和它在字符串中的地位.请求:请同学把豫备常识、步调、程序框图、调试好的程序及存在的成绩写在上面(不敷可以附页).1、publicclass juzhen{int intMatrixA[][]={{7,9,4},{5,6,8}};int intMatrixB[][]={{9,5,2,8},{5,9,7,2},{4,7,5,8}};int intMatrixC[][]=newint[2][4];Multiply(intMatrixA,intMatrixB,intMatrixC);System.out.println("\n****MatrixA****");OutputMatrix(intMatrixA);System.out.println("\n****MatrixB****");OutputMatrix(intMatrixB);System.out.println("\n****MatrixC****");OutputMatrix(intMatrixC);}staticvoid Multiply(int intMatrixA[][],int intMatrixB[][],int intMatrixC[][]) {int i,j,k;for(i=0;i<intMatrixA.length;i++){for(j=0;j<intMatrixC[0].length;j++){intMatrixC[i][j]=0;for(k=0;k<intMatrixB.length;k++){intMatrixC[i][j]+=intMatrixA[i][k]*intMatrixC[k][j];}}}}staticvoid OutputMatrix(int intMatrix[][]){int i,j;for(i=0;i<intMatrix.length;i++){System.out.print(intMatrix[i][j]+" "); }System.out.println();}}}2、publicclass maopao { publicstaticvoid main(String[] args) {int a[]={63,4,24,1,3,5};int i,j;for(i=0;i<5;i++){for(j=0;j<5-i;j++){if(a[j]>a[j+1]){int temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}for(i=0;i<6;i++){System.out.print(a[i]+" ");}}}3、publicclass jiequ {publicstaticvoid main(String[] args) {int j;char[] c=a.toCharArray();System.out.println(String.valueOf(i));for(j=0;j<a.length();j++){if(c[j]=='J'){System.out.println("J所在地位为:"+(j+1));break;}}//String d=a.substring(j,j+4);System.out.println("截取的字符串为:"+a.substring(j,j+4));}}浙江工商大学计算机与信息工程学院实验陈述(5)日期:地点:成绩:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验道理和内容:一、实验目的:文件与数据流.二、实验道理:使用尺度输入输出流,使用字符输入输出流,使用随机文件类,文件的读写操纵.三、实验内容及请求:1、输入8个整数的数组,最大的与第一个元素交换,最小的与最初一个元素交换,输出数组.2、创建一个文本文件memo.txt,编写程序实现打开该文本文件,每次读取一行内容,将每行作为一个字符串读入,并将字符串输出显示到屏幕上.附加题:1、古典成绩:有一对兔子,从出生后第3个月起每个月都生一对兔2、将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.3、输入两个正整数m和n,求其最大公约数和最小公倍数.4、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数.5、求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制.请求:请同学把豫备常识、步调、程序框图、调试好的程序及存在的成绩写在上面(不敷可以附页).1、import java.util.Scanner;publicclass swap {publicstaticvoid main(String[] args) {int i,m,n,k=0,j=0;int []a=newint[8];System.out.println("请输入8个数字");Scanner reader=new Scanner(System.in);for(i=0;i<8;i++){a[i]=reader.nextInt();}int max=a[0],min=a[0];for(i=1;i<8;i++){if(a[i]>max){max=a[i];k=i;}if(a[i]<min){min=a[i];}m=a[k];a[k]=a[0];a[0]=m;if(a[k]!=min){n=a[j];a[j]=a[7];a[7]=n;}else{n=a[k];a[k]=a[7];a[k]=n;}System.out.print("交换后的数:");for(i=0;i<8;i++){System.out.print(a[i]+",");}}}2、import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.BufferedReader;import java.io.IOException;publicclass file {publicstaticvoid main(String[] args) throws IOException {File filePath = new File("D:\\memo.txt");String str ;try {BufferedReader br = new BufferedReader(new FileReader(filePath)); while ((str = br.readLine()) != null){System.out.println(str);catch (FileNotFoundException e) {e.printStackTrace();}}}3.import java.util.Scanner;。

java程序设计课程-实验报告-实验参考模板

java程序设计课程-实验报告-实验参考模板

《Java开发技术》实验报告
实验序号:实验13 实验项目名称:继承
.每个类包含无参数和有参数的构造方法。

构造方法用于对成员变量初始化,无参数的构造方法将成员变量初始化为0值。

.子类的构造方法调用父类的构造方法,对父类中的成员变量初始化。

.方法名自定;
四、实验结果与数据处理
1修改类继承中的错误如下图:
1.输出各对象的周长和面积的结果如下:
1.获取和设置x 和y值的public方法的结果如下:
2.计算圆面积的结果如下:
3.计算圆柱体体积的结果如下:
4.输出其轴心位置坐标、半径、高及其体积的值的结果如下:
友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。

java程序设计实验报告模板

java程序设计实验报告模板

系统架构界面设计主界面:1、建立一个容器,标题定为“学生成绩管理系统”,设置大小。

2、定义一个菜单(成绩单管理),在菜单中添加按钮(添加成绩)。

3、设置容器的的背景色。

4、在容器中添加字(学生成绩管理模块),设置字体为宋体,大小为45,设置倾斜度和颜色。

增加成绩单界面:1、建立容器,使用复杂布局,添加四个JPanel(jp1,jp2,jp3,jp4)。

2、四个Jpanel都使用流式布局,且jp1,jp2,jp3向左靠齐,jp4居中。

3、在jp1中依次添加标签(学生姓名)、文本框、标签(学生班级)、文本框。

4、在jp2中依次添加标签(考试科目)、文本框、标签(考试成绩)、文本框、标签(考试时间)、文本框。

5、在jp3中添加标签(备注)、文本框。

6、在jp4中依次添加按钮保存、清空、返回。

7、监听三个按钮。

当鼠标按下保存时,判断除了备注以外的文本框是否都有信息,若有则将数据读取到数据库中。

若没有,则弹出提示框,提示用户某文本框信息不能为空(利用JOptionPane.showMessageDialog)。

8、若成功将数据读入数据库则跳出提示框“成绩单添加成功”,否则弹出“添加成绩单失败”(利用JOptionPane.showMessageDialog)。

数据库说明数据库名为test表名为student第一列:id自增列第二列:姓名(name),varchar类型,长度为20,不能为空。

第三列:班级(class),varchar类型,长度为5,不能为空。

第四列:科目(subject),varchar类型,长度为10,不能为空。

第五列:成绩(score),int类型,不能为空。

第六列:考试时间(time),varchar类型,长度为10,不能为空。

第七列:备注(remark),varchar类型,长度为50.(代码请看最后一页)程序设计说明类说明:一、FirstStudent主界面二、SecondStudent学生信息输入界面变量说明:一、FirstStudentprivate JPanel panel:容器public JMenuItem ji:增加成绩单按钮JMenuBar jb:菜单栏JMenu jm:成绩单管理菜单SecondStudent in :实例化添加成绩单页面的类FirstStudent inst:实例化主界面的类二、SecondStudentJPanel jp1:添加学生姓名,学生班级的容器JPanel jp2:添加考试科目、成绩、时间的容器JPanel jp3:添加备注的容器JPanel jp4:添加保存、清空、返回按钮的容器JTextField jt1:学生姓名所对应的文本框JTextField jt2:学生班级所对应的文本框JTextField jt3:考试科目所对应的文本框JTextField jt4:考试成绩所对应的文本框JTextField jt5:考试时间所对应的文本框JTextField jt6:备注所对应的文本框JLabel jl1;学生姓名标签JLabel jl2:学生班级标签JLabel jl3:考试科目标签JLabel jl4:考试成绩标签JLabel jl5:考试时间标签JLabel jl6:备注标签JButton jb1:保存按钮JButton jb2:清空按钮JButton jb3:返回按钮String s1:获得学生姓名文本框中的内容String s2:获得学生班级框中的内容String s3:获得考试科目的内容String s4:获得考试成绩的内容String s5:获得考试时间的内容String s6:获得备注框中的内容int a:将考试成绩转为整形赋给aString sql:数据库语言int n:是否链接数据库的判断返回值FirstStudent inst :实例化主界面类SecondStudent i:实例化添加成绩单界面类流程说明:1、主界面:2、增加成绩单界面:3、添加成功后弹出提示框:4、某一项未添加则弹出提示框:主界面代码:package gui;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.SwingUtilities;public class FirstStudent extends JFrame {private JPanel panel;public JMenuItem ji=new JMenuItem("增加成绩单");public FirstStudent() {super();this.setSize(400, 300);this.setTitle("学生成绩管理系统");JMenuBar jb=new JMenuBar();this.setJMenuBar(jb);JMenu jm=new JMenu("成绩单管理");jb.add(jm);jm.add(ji);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);panel = new JPanel() {private static final long serialVersionUID = 2934347922805759551L;public void paint(Graphics g) {this.paintComponent(g);Graphics2D g2 = (Graphics2D) g;g2.setFont(new Font("宋体", Font.BOLD, 45));g2.setColor(new Color(65, 100, 0));g2.shear(0.1, -0.4);g2.drawString("学生成绩管理模块", 0, 200);}};panel.setBackground(Color.RED);getContentPane().add(panel, BorderLayout.CENTER);ji.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {SecondStudent in = new SecondStudent();in.setLocationRelativeTo(null);in.setVisible(true);}});}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {FirstStudent inst = new FirstStudent();inst.setLocationRelativeTo(null);inst.setVisible(true);}});}}添加成绩单界面代码:public class SecondStudent extends JFrame {JPanel jp1=new JPanel();JPanel jp2=new JPanel();JPanel jp3=new JPanel();JPanel jp4=new JPanel();JTextField jt1=new JTextField(10);JTextField jt2=new JTextField(10);JTextField jt3=new JTextField(10);JTextField jt4=new JTextField(10);JTextField jt5=new JTextField(10);JTextField jt6=new JTextField(20);JLabel jl1=new JLabel("学生姓名");JLabel jl2=new JLabel("学生班级");JLabel jl3=new JLabel("考试科目");JLabel jl4=new JLabel("考试成绩");JLabel jl5=new JLabel("考试时间");JLabel jl6=new JLabel("备注");JButton jb1=new JButton("保存");JButton jb2=new JButton("清空");JButton jb3=new JButton("返回");public static Connection conn=null;public static PreparedStatement ps=null;public SecondStudent(){setSize(400, 300);setTitle("增加成绩单");setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);layoujp1();layoujp2();layoujp3();layoujp4();setLayout(new GridLayout(4,1));add(jp1);add(jp2);add(jp3);add(jp4);jb1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {String s1=jt1.getText();String s2=jt2.getText();String s3=jt3.getText();String s4=jt4.getText();String s5=jt5.getText();String s6=jt6.getText();if(s1.equals("")){JOptionPane.showMessageDialog(null, "姓名不能为空!");return;}else if(s2.equals("")){JOptionPane.showMessageDialog(null, "班级不能为空!");return;}else if(s3.equals("")){JOptionPane.showMessageDialog(null, "科目不能为空!");return;}else if(s4.equals("")){JOptionPane.showMessageDialog(null, "成绩不能为空!");return;}else if(s5.equals("")){JOptionPane.showMessageDialog(null, "考试时间不能为空!");return;}int a=Integer.parseInt(s4);try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1434;DatabaseN ame=test","sa","123456");String sql="insert into student (name,class,subject,score,time,remark) values(?,?,?,?,?,?);";ps=conn.prepareStatement(sql);ps.setString(1, s1);ps.setString(2, s2);ps.setString(3, s3);ps.setInt(4, a);ps.setString(5, s5);ps.setString(6, s6);int n=ps.executeUpdate();System.out.println("添加行数"+n);if(n>=0){JOptionPane.showMessageDialog(null, "成绩单添加成功!");}else{JOptionPane.showMessageDialog(null, "成绩单添加失败!");}} catch (ClassNotFoundException e1) {e1.printStackTrace();} catch (SQLException e1) {e1.printStackTrace();}finally{if(ps!=null){try {ps.close();} catch (SQLException e1) {e1.printStackTrace();}}if(conn!=null){try {conn.close();} catch (SQLException e1) {e1.printStackTrace();}}}}});jb2.addActionListener(new ActionListener(){ @Overridepublic void actionPerformed(ActionEvent e) { jt1.setText(null);jt2.setText(null);jt3.setText(null);jt4.setText(null);jt5.setText(null);jt6.setText(null);}});jb3.addActionListener(new ActionListener(){ @Overridepublic void actionPerformed(ActionEvent e) { FirstStudent inst = new FirstStudent();inst.setLocationRelativeTo(null);inst.setVisible(true);}});}private void layoujp1() {jp1.setLayout(new FlowLayout(0));jp1.add(jl1);jp1.add(jt1);jp1.add(jl2);jp1.add(jt2);}private void layoujp2() {jp2.setLayout(new FlowLayout(0));jp2.add(jl3);jp2.add(jt3);jp2.add(jl4);jp2.add(jt4);jp2.add(jl5);jp2.add(jt5);}private void layoujp3() {jp3.setLayout(new FlowLayout(0));jp3.add(jl6);jp3.add(jt6);}private void layoujp4() {jp4.setLayout(new FlowLayout(1));jp4.add(jb1);jp4.add(jb2);jp4.add(jb3);}public static void main(String[] args) {SecondStudent i=new SecondStudent();i.setLocationRelativeTo(null);i.setVisible(true);}}数据库代码:create database test;create table student(id int identity(1,1),name varchar(20) not null,class varchar(5) not null, subject varchar(10) not null, score int not null,time varchar(10) not null, remark varchar(50) not null);select*from student;。

Java程序设计实验报告_2

Java程序设计实验报告_2

Java程序设计实验报告姓名:学号:班级:课题名称(附程序名):JAVA计算器(Calculator.java)一、实验目的通过JAVA图形接口的应用,编写出一图形界面的科学计算器;熟悉JAVA程序开发的一般步骤,掌握事件驱动,并能掌握一定的Java 编程能力,在实践中能感受Java的奥秘!同时检验自己的学习成果。

二、实验任务具有加减乘除的计算器,可以延伸到开方等其他的一些计算。

三、开发工具与平台Microsoft Visual Studio 2005四、设计思路:1)界面设计2)逻辑设计首先明确该实验设计的要求实现的基本功能,其次设计布局,将空间划分为由行和列组成的网格单元,每个单元放一个组件,网格单元大小可以不同,尽量将相同属性的按钮放在一个区域,方便操作。

3)软件调试与测试经过调试之后,能实现基本的四则运算,并能实现开方和消除错误的数。

4)软件设计优化该软件的界面应该更加流畅,同时我相信随着自己只是的日益丰富,开发软件的速度更快,效率更高,功能更加全面!5)实验总结不足:没有实现Mc,MR,MS,M+以及菜单栏几个功能,有待进一步完善。

这样才能够完成自己的第一个应用软件设计!优点:通过本次实验设计,大体了解了Java图形接口的应用,并在过程中增强了对程序的调试能力。

对JAVA有了更深一步的理解,学会如何解决问题,如何坚持对程序的调试,同时也增强了自己学习Java的信心。

五、附录源程序如下:import java.awt.BorderLayout;import java.awt.Container;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.GridLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JPanel;import javax.swing.JTextField;public class Calculator extends JFrame implements ActionListener { boolean init = true;boolean isMath = false;boolean clear = true;boolean clickable = true;double qian;String fuhao;int all = 0;JTextField text = new JTextField(25);JButton bM = new JButton();JButton bMC = new JButton("MC");JButton bMR = new JButton("MR");JButton bMS = new JButton("MS");JButton bMADD = new JButton("M+");JButton b0 = new JButton("0");JButton b1 = new JButton("1");JButton b2 = new JButton("2");JButton b3 = new JButton("3");JButton b4 = new JButton("4");JButton b5 = new JButton("5");JButton b6 = new JButton("6");JButton b7 = new JButton("7");JButton b8 = new JButton("8");JButton b9 = new JButton("9");JButton bNOP = new JButton("+/-");JButton bDot = new JButton(".");JButton bDiv = new JButton("/");JButton bMul = new JButton("*");JButton bSub = new JButton("-");JButton bAdd = new JButton("+");JButton bSprt = new JButton("sprt");JButton bMod = new JButton("%");JButton bDao = new JButton("1/x");JButton bEqual = new JButton("=");JButton bBackspace = new JButton("Backspace"); JButton bCE = new JButton("CE");JButton bC = new JButton("C");public Calculator() {this.setTitle("计算器");JMenuBar mainMenu = new JMenuBar();setJMenuBar(mainMenu);JMenu editMenu = new JMenu("编辑");JMenu viewMenu = new JMenu("查看");JMenu helpMenu = new JMenu("帮助");mainMenu.add(editMenu);mainMenu.add(viewMenu);mainMenu.add(helpMenu);JPanel jpDisplay = new JPanel();JPanel jpInput = new JPanel();JPanel jpLeft = new JPanel();JPanel jpRight = new JPanel();text.setText("0.");text.setHorizontalAlignment(JTextField.RIGHT); jpDisplay.add(text);bM.addActionListener(this);bMC.addActionListener(this);bMS.addActionListener(this);bMR.addActionListener(this);bMADD.addActionListener(this);jpLeft.setLayout(new GridLayout(5, 1)); jpLeft.add(bM);jpLeft.add(bMC);jpLeft.add(bMR);jpLeft.add(bMS);jpLeft.add(bMADD);JPanel jpInnerN = new JPanel();JPanel jpInnerS = new JPanel();bBackspace.addActionListener(this);bCE.addActionListener(this);bC.addActionListener(this);jpInnerN.setLayout(new GridLayout(1, 3)); jpInnerN.add(bBackspace);jpInnerN.add(bCE);jpInnerN.add(bC);b0.addActionListener(this);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);b7.addActionListener(this);b8.addActionListener(this);b9.addActionListener(this);bNOP.addActionListener(this);bDot.addActionListener(this);bDiv.addActionListener(this);bMul.addActionListener(this);bSub.addActionListener(this);bAdd.addActionListener(this);bSprt.addActionListener(this);bMod.addActionListener(this);bDao.addActionListener(this);bEqual.addActionListener(this);jpInnerS.setLayout(new GridLayout(4, 5));jpInnerS.add(b7);jpInnerS.add(b8);jpInnerS.add(b9);jpInnerS.add(bDiv);jpInnerS.add(bSprt);jpInnerS.add(b4);jpInnerS.add(b5);jpInnerS.add(b6);jpInnerS.add(bMul);jpInnerS.add(bMod);jpInnerS.add(b1);jpInnerS.add(b2);jpInnerS.add(b3);jpInnerS.add(bSub);jpInnerS.add(bDao);jpInnerS.add(b0);jpInnerS.add(bNOP);jpInnerS.add(bDot);jpInnerS.add(bAdd);jpInnerS.add(bEqual);jpRight.setLayout(new BorderLayout());jpRight.add(jpInnerN, BorderLayout.NORTH);jpRight.add(jpInnerS, BorderLayout.CENTER);jpInput.setLayout(new BorderLayout());jpInput.add(jpLeft, BorderLayout.WEST);jpInput.add(jpRight, BorderLayout.CENTER);Container pane = this.getContentPane();pane.setSize(333, 208);this.setLocation(300, 200);this.setLayout(new BorderLayout());pane.add(jpDisplay, BorderLayout.CENTER);pane.add(jpInput, BorderLayout.SOUTH);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.pack();this.setVisible(true);}public void actionPerformed(ActionEvent e) {if (init)this.text.setText("0.");init = false;Object source = e.getSource();if (source == bBackspace) {String s = text.getText();text.setText("");for (int i = 0; i < s.length() - 1; i++) { char a = s.charAt(i);text.setText(text.getText() + a);}System.out.println("backspace");}if (source == bCE) {text.setText("0.");clear = true;init = true;System.out.println("CE");}if (source == bC) {text.setText("0.");clear = true;init = true;System.out.println("C");}if (source == bM) {System.out.println("M");}if (source == bMC) {System.out.println("MC,功能末实现");}if (source == bMR) {System.out.println("MR,功能末实现");}if (source == bMS) {System.out.println("MS,功能末实现");}if (source == bMADD) {System.out.println("M+,功能末实现");}if (source == b0) {System.out.println("0");if (clear == false)// 判断是否点击了符号位text.setText("");text.setText(text.getText() + "0");}if (source == b1) {if (clear == false)text.setText("");text.setText(text.getText() + "1");clear = true;// 第二次不在清空(前二句)}if (source == b2) {System.out.println("2");if (clear == false)text.setText("");text.setText(text.getText() + "2");clear = true;}if (source == b3) {System.out.println("3");if (clear == false)text.setText("");text.setText(text.getText() + "3");clear = true;}if (source == b4) {System.out.println("4");if (clear == false)text.setText("");text.setText(text.getText() + "4");clear = true;}if (source == b5) {System.out.println("5");if (clear == false)text.setText("");text.setText(text.getText() + "5");clear = true;}if (source == b6) {System.out.println("6");if (clear == false)text.setText("");text.setText(text.getText() + "6");clear = true;}if (source == b7) {System.out.println("7");if (clear == false)text.setText("");text.setText(text.getText() + "7");clear = true;}if (source == b8) {System.out.println("8");if (clear == false)text.setText("");text.setText(text.getText() + "8");clear = true;}if (source == b9) {System.out.println("9");if (clear == false)text.setText("");text.setText(text.getText() + "9");clear = true;}try{if (source == bNOP) {System.out.println("+/-");boolean isNumber = true;String s = text.getText();for (int i = 0; i < s.length(); i++)if (!(s.charAt(i) >= '0' && s.charAt(i) <= '9'|| s.charAt(i) == '.' || s.charAt(i) == '-')) {isNumber = false;break;}if (isNumber == true) {// 如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉if (s.charAt(0) == '-') {text.setText("");for (int i = 1; i < s.length(); i++) {char a = s.charAt(i);text.setText(text.getText() + a);}}// 如果当前字符串第一个字符不是符号,则添加一个符号在首字母处elsetext.setText('-' + s);}}if (source == bDot) {System.out.println(".");clickable = true;for (int i = 0; i < text.getText().length(); i++)if ('.' == text.getText().charAt(i)) {clickable = false;break;} // 第一层判断是否里面含有小数点;if (clickable == true)// 第二层判断text.setText(text.getText() + ".");}if (source == bDiv) {System.out.println("/");qian = Double.parseDouble(text.getText());fuhao = "/";clear = false;}if (source == bMul) {System.out.println("*");qian = Double.parseDouble(text.getText());fuhao = "*";clear = false;}if (source == bSub) {System.out.println("-");qian = Double.parseDouble(text.getText());fuhao = "-";clear = false;}if (source == bAdd) {System.out.println("+");qian = Double.parseDouble(text.getText());fuhao = "+";clear = false;}if (source == bSprt) {System.out.println("sprt");String s = text.getText();if (s.charAt(0) == '-') {text.setText("负数不能开根号");} elsetext.setText(Double.toString(ng.Math.sqrt(Double.parseDouble(text.getText()))));clear = false;}if (source == bMod) {System.out.println("%,功能末实现");}if (source == bDao) {System.out.println("1/x");if (text.getText().charAt(0) == '0'&& text.getText().length() == 1) {text.setText("除数不能为零");} else {boolean isDec = true;int i, j, k;String s= Double.toString(1 / Double.parseDouble(text.getText()));for (i = 0; i < s.length(); i++)if (s.charAt(i) == '.')break;for (j = i + 1; j < s.length(); j++)if (s.charAt(j) != '0') {isDec = false;break;}if (isDec == true) {String stemp = "";for (k = 0; k < i; k++)stemp += s.charAt(k);text.setText(stemp);} elsetext.setText(s);}clear = false;}if (source == bEqual) {System.out.println("=");Double ss=Double.parseDouble(text.getText());text.setText("");if (fuhao == "+")text.setText(qian + ss + "");if (fuhao == "-")text.setText(qian - ss + "");if (fuhao == "*")text.setText(qian * ss + "");if (fuhao == "/")text.setText(qian / ss + "");clear = false;// 要清空前一次的数据;}}catch (Exception ee) {System.out.println("请正确输入");text.setText("运算出错,给您带来不便,sorry");clear = false;}}public static void main(String[] args) {new Calculator();}}11。

Java程序设计实验报告实验报告册

Java程序设计实验报告实验报告册

实验1 JAVA编程基础一、实验目的1、熟练掌握JDK编写调试Java应用程序及Java小程序的方法;2、熟练掌握Java应用程序的结构;3、了解Java语言的特点,基本语句、运算符及表达式的使用方法;4、熟练掌握常见数据类型的使用;5、熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法;6、熟练掌握数组和字符串的使用。

二、实验要求1、编写程序要规范、正确,上机调试过程和结果要有记录;2、做完实验后给出本实验的实验报告。

三、实验设备、环境安装有JDK、Eclipse软件的计算机。

四、实验步骤采用记事本编写一个简单的应用程序(1)新建一个记事本文件,重新命名为Hello.java(2)打开记事本,输入以下内容(注意大小写):public class Hello{public static void main(String args[]){System.out.println("hello hello");}}(3)请记录程序编译和执行的步骤,并附上运行结果图。

进入文件所在目录cd class\java\java_ex1编译N:\class\java\java_ex1>javac Hello.java运行java Hello结果:五、实验内容1、从键盘上输入学号、班级和姓名,并附上运行结果图。

import java.util.Scanner;public class KeyboardDemo {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.print("请输入班级:");String cls = scan.nextLine();System.out.print("请输入姓名:");String name = scan.nextLine();System.out.print("请输入学号:");String num = scan.nextLine();System.out.println("班级:"+cls+" 姓名:"+name+" 学号"+num);}}2、编写一个程序,用来判断输入的是大写字母,小写字母,数字还是其他的字符(if)。

Java程序设计实验报告

Java程序设计实验报告

学生学号实验课成绩武汉理工大学学生实验报告书实验课程名称 Java语言程序设计开课学院计算机科学与技术学院指导老师姓名付国江学生姓名学生专业班级软件工程09042011 — 2012 学年第一学期实验课程名称:实验项目名称JDK安装与配置、简单的程序编写实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)实验目的:熟悉JDK的安装、配置和使用,掌握Java Application程序的基本结构。

实验内容:(1)安装JDK,并练习设置JAVA_HOME、path和classpath环境变量;(2)编写一个打印出”HelloWorld”的Java Application程序,并编译运行;二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)1.安装JDK:(1)安装JDK、JRE到磁盘中(2)配置JDK:在【系统属性】-【系统变量】选项区域-【新建】-输入变量名JAVA_HOME,变量值D:\Program Files\Java\jdk.1.7.0_01;-【新建】-输入变量名CLASSPATH,变量值 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar编辑变量Path,输入%JAVA_HOME%\bin;2.HelloWorld程序:(1)程序代码public class HelloWorld{public static void main(String []args){System.out.println("HelloWorld!");}}(2)编译:javac HelloWorld.java(3)运行:java HelloWorld三、主要仪器设备及耗材1.PC机2.Java Develop Kit3.Windows xp操作系统第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)1.在Windows xp操作系统下配置Java开发环境;2.在DOS命令窗口输入path查看环境配置是否成功;3.编译、运行HelloWorld程序,观察程序运行状态和运行结果,做好相应的记录。

java实验报告-

java实验报告-

java实验报告-Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念以及常用类库的使用方法。

同时,培养自己的编程思维和解决实际问题的能力。

二、实验环境操作系统:Windows 10开发工具:IntelliJ IDEAJDK 版本:18三、实验内容及步骤(一)实验题目 1:简单的 Java 程序设计1、题目描述编写一个 Java 程序,实现输出“Hello, World!”。

2、实验步骤(1)打开 IntelliJ IDEA 开发工具,创建一个新的 Java 项目。

(2)在项目中创建一个新的 Java 类,命名为“HelloWorld”。

(3)在“HelloWorld”类中编写以下代码:```javapublic class HelloWorld {public static void main(String args) {Systemoutprintln("Hello, World!");}}```(4)运行程序,查看控制台输出结果。

(二)实验题目 2:数据类型与变量1、题目描述定义不同数据类型的变量,并进行赋值和运算操作。

2、实验步骤(1)在同一个 Java 项目中创建一个新的 Java 类,命名为“DataTypeAndVariable”。

(2)在“DataTypeAndVariable”类中编写以下代码:```javapublic class DataTypeAndVariable {public static void main(String args) {int num1 = 10;int num2 = 20;int sum = num1 + num2;double price = 125;String name ="张三";boolean isTrue = true;Systemoutprintln("num1 + num2 ="+ sum);Systemoutprintln("价格:"+ price);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否为真:"+ isTrue);}}```(3)运行程序,查看控制台输出结果。

《JAVA程序设计》实验报告5

《JAVA程序设计》实验报告5

《JAVA程序设计》实验报告5实验单元五Java 类的应用、继承实验六Java类的应用实验时间: 4.4【实验目的】1、定义自己的Java类。

2、能够应用类。

【实验环境】JDK、Eclipse【实验内容】1.定义一个学生类,包括属性:学号、姓名、年龄(取值介于0-100之间)、成绩(取值介于0-100之间),定义一个方法显示学生信息。

并测试该类。

2.定义一个长方形类,有长、宽属性,并给出计算面积及周长的方法。

并测试该类。

3.设计一个人类Person,包含姓名,年龄,性别基本信息,修饰为私有的设计一个人类Person,包含姓名,年龄,性别基本信息,修饰为私有的;定义构造方法,用来初始化基本信息;定义方法show,用来显示基本信息值。

测试该类。

4.建立一个名叫Cat的类:属性:姓名、毛色、年龄行为:显示姓名、喊叫请编写主类:创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

5.类的成员变量请定义一个交通工具(Vehicle)的类其中有: 属性速度(speed)体积(size)等等方法移动(move())设置速度(setSpeed(int speed))加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象并通过方法给它初始化speed,size的值并且通过打印出来。

另外调用加速减速的方法对速度进行改变。

【详细分析】(此项由学生自己完成)【实验源码】(此项由学生自己完成)1.定义一个学生类,包括属性:学号、姓名、年龄(取值介于0-100之间)、成绩(取值介于0-100之间),定义一个方法显示学生信息。

并测试该类。

代码:package ch5;public class Student {public int no;public String name;public int age;public int cg;public void setNo(int no){this.no=no;}public void setName(String name){=name;}public void setAge(int age){this.age=age;if(age>0&&age<=100);elseSystem.out.println("请输入合法的年龄值:");}public void setCg(int cg){this.cg=cg;if(cg>0&&cg<=100);elseSystem.out.println("请输入合法的成绩值:");}}package ch5;public class StudentText {public static void main(String[] args) {// TODO Auto-generated method stubStudent stu=new Student();stu.setNo(12);System.out.println("学号:"+stu.no);stu.setName("lihua");System.out.println("姓名:"+);stu.setAge(18);System.out.println("年龄:"+stu.age);stu.setCg(21);System.out.println("成绩:"+stu.cg);}}2.定义一个长方形类,有长、宽属性,并给出计算面积及周长的方法。

Java综合实验报告_3

Java综合实验报告_3

面向对象程序设计综合性实验(一)系统分析:本系统为学生考试成绩分析系统,系统要求可以让用户输入若干学生的基本信息、课程信息,还有对应的课程成绩。

而主要功能则是可以实现按条件进行相应学生的成绩查询和按条件进行成绩的分析,并且能够通过绘制柱状图与圆饼图来显示相应结果。

因此,我设计了3个保存数据的类,分别是年级班级类、学生类以及课程类,其中学生类继承了课程类,而年级班级类则继承学生类。

每当新建一条信息(一个学生的信息),则新建一个年级班级类,在内部会自动新建一个学生类以及课程类,用于记录一个学生的信息。

本系统采用了窗口GUI来实现,因此大量采用了按钮、文本框、单选按钮、滚动窗口等等,所以必不可少的当然是不少的监听器与对应的实现方法。

(二)系统设计:1.基本数据:Class—Grade : String—major : String—classname : String—Student : Student+getGrade() : String+getStudent() : Student+getClassname() : String+getMajor() : String+setGrade(Grade : String) : void+setClassname(classname : String) : void +setMajor(major : String) : voidStudent—StudentID : String—StudentName : String—Course : Course—couseMark : double+getCourse() : Course+getCouseMark () : double+getStudentID () : String+getStudentName () : String+setCouseMark (couseMark : double) : void+setStudentID (StudentID : String) : void+setStudentName (StudentName : String) : voidCourse—coureNumber : String—courseName : String—coureScore : double—courseHour : double+getCoureNumber () : String+getCoureScore () : double+getCourseHour () : double+getCourseName () : String+setCoureNumber (coureNumber : String) : void +setCoureScore (coureScore: double) : void+setCourseHour (courseHour: double) : void+setCourseName(courseName : String) : voidjava.io.Serializable2.主要方法实现及其他类(总共有20个,简单罗列5个):(三)系统实现:1.显示全部信息:利用窗口进行显示,而该窗口由菜单栏、滚动窗口、单选按钮和复选按钮组成。

Java程序设计实验报告2010

Java程序设计实验报告2010
{ int a,b;
public void setab(inti, int j)
{ a=i; b=j; }
public void printab()
{ int sum=a+b;
System.out.println(“a+b=”+sum);
}
}
//B.java
packagepkg1.pkg2;
public class B
{ Exam3_6 d1=new Exam3_6();
System.out.print(”The current date is(year/month/day):”);
d1.outDate();
System.out.println( );
System.out.print(”Its tomorrow date is(year/month/day):”);
{ A x=new A();
A y=new A();
x.setab(5);
y.setab(10);
System.out.println(“x.a=”+x.geta()+”,y.a=”+y.geta());
x.setb(-5);
y.setb(-10);
System.out.println(“x.b=”+x.getb()+”,y.b=”+y.getb());
Its tomorrow is (year/month/day):2000/1/2
The current date is (year/month/day):2004/1/8
Is tomorrow is (year/month/day):2004/1/9

java语言综合设计实验报告

java语言综合设计实验报告

Java语言综合设计实验报告--GUI编程设计题目:JA V A计算器班级:过072班学号:******姓名:***成绩:2009年6月23日一、程序功能简介具有日常计算的大部分功能:1,能够正确的进行加减乘除运算;2,能够进行数学计算,例如sin(),cos(),tan()等等;3,能够进行数据存储;说明:完全模仿Windows自带的计算器所写,但有些功能还需完善。

二、算法设计设计了一个类,整个界面设计用到了两个布局管理器,分别是BorderLayout和FlowLayout。

程序中用到了setBackground和setHorizontalAlignment等多个函数,形成了一个比较不错的windows的窗体外观,除此之外还用到了:JFrame类中的JPanel,JLabel,JComboBox,…用了大量类库中的函数实现了很多功能。

三、源程序代码及注释/** @author XuZhengXian*/import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.text.DecimalFormat;public class MyCalculator implements ActionListener { // 设计面板中的单位JFrame frame;JTextField textAnswer, textMemory;JLabel label;JPanel panel, panel1, panel2, panel3;JMenuBar menuBar;JMenu editMenu;JMenuItem copyItem, pasteItem;JLabel labelSpace; // 控制面板的形状JButton buttonBS, buttonCE, buttonC;JButton button[];JButton buttonMC, buttonMR, buttonMS, buttonMAdd;JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul,buttonDiv, buttonEqual;JButton buttonSin, buttonCos, buttonTan, buttonPI, buttonXY, buttonX2, buttonSqrt,buttonDS;DecimalFormat df; // 设置数据输出精度boolean clickable; // 控制当前能否按键double memoryd; // 使用内存中存储的数字int memoryi;boolean resultIndicate, dotFlag;double vard, answerd; // 用来保存double型数据的中间值和最后结果short key = -1, prekey = -1; // 用来保存当前进行何种运算和保存前次进行何种运算String copy;// 构造函数public MyCalculator() {clickable = true;answerd = 0;frame = new JFrame("计算器");df = new DecimalFormat("0.##############"); // 设置数据输出精度textAnswer = new JTextField(15);textAnswer.setText("");textAnswer.setEditable(false);textAnswer.setBackground(new Color(255, 255, 255));textAnswer.setHorizontalAlignment(JTextField.RIGHT);panel = new JPanel();frame.getContentPane().add(panel);panel1 = new JPanel();panel2 = new JPanel();panel.setLayout(new BorderLayout());// 设计整个面板menuBar = new JMenuBar();editMenu = new JMenu("编辑");copyItem = new JMenuItem(" 复制");copyItem.addActionListener(this);pasteItem = new JMenuItem(" 粘贴");pasteItem.addActionListener(this);editMenu.add(copyItem);editMenu.add(pasteItem);menuBar.add(editMenu);panel.add(menuBar, BorderLayout.NORTH);panel.add(textAnswer, BorderLayout.CENTER);panel.add(panel1, BorderLayout.SOUTH);panel1.setLayout(new BorderLayout());label = new JLabel("过072 许正贤 070483"); textMemory = new JTextField(5);textMemory.setEditable(false);textMemory.setBackground(new Color(217, 217, 217)); labelSpace = new JLabel(" ");buttonBS = new JButton("Backspace");buttonBS.setForeground(new Color(255, 0, 0)); buttonCE = new JButton("CE");buttonCE.setForeground(new Color(255, 0, 0)); buttonC = new JButton("C");buttonC.setForeground(new Color(255, 0, 0)); buttonBS.addActionListener(this);buttonCE.addActionListener(this);buttonC.addActionListener(this);panel1.add(panel2, BorderLayout.NORTH);panel2.setLayout(new FlowLayout(FlowLayout.RIGHT)); panel2.add(label);label.setHorizontalAlignment(JLabel.CENTER);panel2.add(textMemory);panel2.add(labelSpace);panel2.add(buttonBS);panel2.add(buttonCE);panel2.add(buttonC);panel3 = new JPanel();panel1.add(panel3, BorderLayout.CENTER);button = new JButton[10];for (int i = 0; i < button.length; i++) {button[i] = new JButton(Integer.toString(i));button[i].setForeground(new Color(0, 0, 255));}buttonMC = new JButton("MC");buttonMC.setForeground(new Color(255, 0, 0)); buttonMR = new JButton("MR");buttonMR.setForeground(new Color(255, 0, 0)); buttonMS = new JButton("MS");buttonMS.setForeground(new Color(255, 0, 0)); buttonMAdd = new JButton("M+");buttonMAdd.setForeground(new Color(255, 0, 0)); buttonDot = new JButton(".");buttonDot.setForeground(new Color(0, 0, 255)); buttonAddAndSub = new JButton("+/-"); buttonAddAndSub.setForeground(new Color(0, 0, 255)); buttonAdd = new JButton("+");buttonAdd.setForeground(new Color(255, 0, 0)); buttonSub = new JButton("-");buttonSub.setForeground(new Color(255, 0, 0)); buttonMul = new JButton("*");buttonMul.setForeground(new Color(255, 0, 0)); buttonDiv = new JButton("/");buttonDiv.setForeground(new Color(255, 0, 0)); buttonSin = new JButton("sin");buttonSin.setForeground(new Color(12, 150, 50)); buttonCos = new JButton("cos");buttonCos.setForeground(new Color(12, 150, 50)); buttonTan = new JButton("tan");buttonTan.setForeground(new Color(12, 150, 50)); buttonEqual = new JButton("=");buttonEqual.setForeground(new Color(255, 0, 0)); buttonPI = new JButton("pi");buttonPI.setForeground(new Color(12, 150, 50)); buttonX2 = new JButton("x^2");buttonX2.setForeground(new Color(12, 150, 50)); buttonSqrt = new JButton("sqrt");buttonSqrt.setForeground(new Color(12, 150, 50)); buttonDS = new JButton("1/x");buttonDS.setForeground(new Color(12, 150, 50));// 将所有行为与监听绑定panel3.setLayout(new GridLayout(4, 7));panel3.add(buttonMC);buttonMC.addActionListener(this);panel3.add(button[7]);button[7].addActionListener(this);button[8].addActionListener(this);panel3.add(button[9]);button[9].addActionListener(this);panel3.add(buttonDiv);buttonDiv.addActionListener(this);panel3.add(buttonSin);buttonSin.addActionListener(this);panel3.add(buttonPI);buttonPI.addActionListener(this);panel3.add(buttonMR);buttonMR.addActionListener(this);panel3.add(button[4]);button[4].addActionListener(this);panel3.add(button[5]);button[5].addActionListener(this);panel3.add(button[6]);button[6].addActionListener(this);panel3.add(buttonMul);buttonMul.addActionListener(this);panel3.add(buttonCos);buttonCos.addActionListener(this);panel3.add(buttonDS);buttonDS.addActionListener(this);panel3.add(buttonMS);buttonMS.addActionListener(this);panel3.add(button[1]);button[1].addActionListener(this);panel3.add(button[2]);button[2].addActionListener(this);panel3.add(button[3]);button[3].addActionListener(this);panel3.add(buttonSub);buttonSub.addActionListener(this);panel3.add(buttonTan);buttonTan.addActionListener(this);panel3.add(buttonX2);buttonX2.addActionListener(this);panel3.add(buttonMAdd);buttonMAdd.addActionListener(this);panel3.add(button[0]);button[0].addActionListener(this);panel3.add(buttonAddAndSub); buttonAddAndSub.addActionListener(this);buttonDot.addActionListener(this);panel3.add(buttonAdd);buttonAdd.addActionListener(this);panel3.add(buttonEqual);buttonEqual.addActionListener(this);panel3.add(buttonSqrt);buttonSqrt.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setVisible(true);}// 设置各个按钮行为public void actionPerformed(ActionEvent event) {Object temp = event.getSource();try {// 如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后for (int i = 0; i <= 9; i++)if (temp == button[i] && clickable == true) {if(resultIndicate) {textAnswer.setText("");clickable = true;textAnswer.setText(textAnswer.getText() + Integer.toString(i));}else {textAnswer.setText(textAnswer.getText() + Integer.toString(i));}}// 按下′.′按钮时,判断当前文本框内字符串中含不含′.′,如果已含,则不允许再插入′.′if (temp == buttonDot && clickable == true) {boolean isDot = false;if (textAnswer.getText().length() == 0) {//isDot = true;isDot = false;dotFlag = true;}for(int i = 0; i < textAnswer.getText().length(); i++) if ('.' == textAnswer.getText().charAt(i)) {isDot = true;break;}if (isDot == false) {if (dotFlag)textAnswer.setText('0' + ".");elsetextAnswer.setText(textAnswer.getText() + ".");}}if ((temp == buttonAdd || temp == buttonSub || temp == buttonMul ||temp == buttonDiv) && clickable == true) {// ′+′操作if (temp == buttonAdd) {switch (prekey) {case 0:answerd +=Double.parseDouble(textAnswer.getText());break;case 1:answerd -=Double.parseDouble(textAnswer.getText());break;case 2:answerd *=Double.parseDouble(textAnswer.getText());break;case 3:if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}elseanswerd /=Double.parseDouble(textAnswer.getText());break;default:answerd =Double.parseDouble(textAnswer.getText());}textAnswer.setText("");prekey = key = 0;}// ′-′操作if (temp == buttonSub) {switch (prekey) {case 0:answerd +=Double.parseDouble(textAnswer.getText());break;case 1:answerd -=Double.parseDouble(textAnswer.getText());break;case 2:answerd *=Double.parseDouble(textAnswer.getText());break;case 3:if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}elseanswerd /=Double.parseDouble(textAnswer.getText());break;default:answerd =Double.parseDouble(textAnswer.getText());}textAnswer.setText("");prekey = key = 1;}// ′*′操作if (temp == buttonMul) {switch (prekey) {case 0:answerd +=Double.parseDouble(textAnswer.getText());break;case 1:answerd -=Double.parseDouble(textAnswer.getText());break;case 2:answerd *=Double.parseDouble(textAnswer.getText());break;case 3:if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}elseanswerd /=Double.parseDouble(textAnswer.getText());break;default:answerd =Double.parseDouble(textAnswer.getText());}textAnswer.setText("");prekey = key = 2;}// ′/′操作if (temp == buttonDiv) {switch (prekey) {case 0:answerd +=Double.parseDouble(textAnswer.getText());break;case 1:answerd -=Double.parseDouble(textAnswer.getText());break;case 2:answerd *=Double.parseDouble(textAnswer.getText());break;case 3:if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}elseanswerd /=Double.parseDouble(textAnswer.getText());break;default:answerd =Double.parseDouble(textAnswer.getText());}textAnswer.setText("");prekey = key = 3;}}// ′=′操作if (temp == buttonEqual && clickable == true) {// 如果连续按′=′,则进行连续运算if (prekey == 5) {if (key == 0) {answerd += vard;textAnswer.setText(df.format(answerd));}if (key == 1) {answerd -= vard;textAnswer.setText(df.format(answerd));}if (key == 2) {answerd *= vard;textAnswer.setText(df.format(answerd));}if (key == 3) {if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}else {answerd /= vard;textAnswer.setText(df.format(answerd));}}}else {vard = Double.parseDouble(textAnswer.getText());if (key == 0) {prekey = -1;answerd +=Double.parseDouble(textAnswer.getText());textAnswer.setText(df.format(answerd));}if (key == 1) {prekey = -1;answerd -=Double.parseDouble(textAnswer.getText());textAnswer.setText(df.format(answerd));}if (key == 2) {prekey = -1;answerd *=Double.parseDouble(textAnswer.getText());textAnswer.setText(df.format(answerd));}if (key == 3) {prekey = -1;if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}else {answerd /=Double.parseDouble(textAnswer.getText());textAnswer.setText(df.format(answerd));}}}prekey = 5;resultIndicate = true;}// 显示PIif (temp == buttonPI && clickable == true) {textAnswer.setText(Double.toString(ng.Math.PI));}// 求正弦运算if (temp == buttonSin && clickable == true) {textAnswer.setText(Double.toString(ng.Math.sin(Double.parseDouble(textAnswer.getText()) *ng.Math.PI / 180)));}// 求余弦运算if (temp == buttonCos && clickable == true) {textAnswer.setText(Double.toString(ng.Math.cos(Double.parseDouble(textAnswer.getText()) *ng.Math.PI / 180)));}// 求正切运算if (temp == buttonTan && clickable == true) {textAnswer.setText(Double.toString(ng.Math.tan(Double.parseDouble(textAnswer.getText()) *ng.Math.PI / 180)));}// 求平方运算if (temp == buttonX2 && clickable == true) {answerd = Double.parseDouble(textAnswer.getText()) *Double.parseDouble(textAnswer.getText());textAnswer.setText(Double.toString(answerd));}// 开根号运算if (temp == buttonSqrt && clickable == true) {String s = textAnswer.getText();if (s.charAt(0) == '-') {textAnswer.setText("负数不能开根号");clickable = false;}elsetextAnswer.setText(Double.toString(ng.Math.sqrt(Double.parseDouble(textAnswer.getText()))));}// 按下′+/-′按钮时处理if (temp == buttonAddAndSub && clickable == true) {boolean isNumber = true;String s = textAnswer.getText();for (int i = 0; i < s.length(); i++)if (! (s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.'|| s.charAt(i) == '-')) {isNumber = false;break;}if (isNumber == true) {// 如果当前字符串首字母有′-′号,代表现在是个负数,再按下时,则将首符号去掉if (s.charAt(0) == '-') {textAnswer.setText("");for (int i = 1; i < s.length(); i++) {char a = s.charAt(i);textAnswer.setText(textAnswer.getText() + a);}}// 如果当前字符串第一个字符不是符号,则添加一个符号在首字母处elsetextAnswer.setText('-' + s);}}// 计算器有关内存操作// ′MC′的操作,将内存清0if (temp == buttonMC && clickable == true) {memoryd = memoryi = 0;textMemory.setText("");}// ′MS′的操作,将当前文本框内容保存入内存,显示′M′if (temp == buttonMS && clickable == true) {boolean isDot = false;textMemory.setText(" M");for(int i = 0; i < textAnswer.getText().length(); i++) if ('.' == textAnswer.getText().charAt(i)) {isDot = true;break;}// 如果是double,则存入memoryd(double存储器)if (isDot == true) {memoryd =Double.parseDouble(textAnswer.getText());memoryi = 0; //保证存储器中存放最新的值}// 如果是int,则存入memoryi(int存储器)else {memoryi = Integer.parseInt(textAnswer.getText());memoryd = 0; //保证存储器中存放最新的值}}//′MR′的操作,将存储器中的信息输出if (temp == buttonMR && clickable == true) {if (memoryd != 0)textAnswer.setText(Double.toString(memoryd));if (memoryi != 0)textAnswer.setText(Integer.toString(memoryi));}// ′M+′的功能,将当前文本框里的数据和存储器中数据相加后,再存入存储器if (temp == buttonMAdd && clickable == true) {boolean isDot = false;for(int i = 0; i < textAnswer.getText().length(); i++) if ('.' == textAnswer.getText().charAt(i)) {isDot = true;break;}if (memoryi != 0) { // 存储中是一个int型数if (isDot == false) // 被加数是一个int型数memoryi +=Integer.parseInt(textAnswer.getText());else { // 被加数是一个double型数,则将int存储器中数传入double存储器与当前数相加,int存储器清零memoryd = memoryi +Double.parseDouble(textAnswer.getText());memoryi = 0;}}elsememoryd +=Double.parseDouble(textAnswer.getText());}// 按下′Backspace′键,利用循环将当前字符串中的最后一个字母删除if (temp == buttonBS && clickable == true) {String s = textAnswer.getText();textAnswer.setText("");for (int i = 0; i < s.length() - 1; i++) {char a = s.charAt(i);textAnswer.setText(textAnswer.getText() + a);}}// 按下′CE′按钮,将当前文本框内数据清除if (temp == buttonCE) {textAnswer.setText("");clickable = true;}// 按下′C′按钮,文本框内数据清除,同时var,answer清零if (temp == buttonC) {vard = answerd = 0;textAnswer.setText("");clickable = true;}// 按下′复制′菜单栏if (temp == copyItem) {copy = textAnswer.getText();}// 按下′粘贴′菜单栏if (temp == pasteItem) {textAnswer.setText(copy);}}// 输入中如果有操作非法,比如按下两次′+′,捕获异常catch (Exception e) {textAnswer.setText("操作非法");clickable = false;}}// 主函数public static void main(String args[]) { new MyCalculator();}}四、运行结果:五、重点代码分析这一部分涉及到程序功能的算法问题public void actionPerformed(ActionEvent event) {Object temp = event.getSource();try {// 如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后for (int i = 0; i <= 9; i++)if (temp == button[i] && clickable == true) {if(resultIndicate) {textAnswer.setText("");clickable = true;textAnswer.setText(textAnswer.getText() + Integer.toString(i));}else {textAnswer.setText(textAnswer.getText() + Integer.toString(i));}}// 按下′.′按钮时,判断当前文本框内字符串中含不含′.′,如果已含,则不允许再插入′.′if (temp == buttonDot && clickable == true) {boolean isDot = false;if (textAnswer.getText().length() == 0) {//isDot = true;isDot = false;dotFlag = true;}for(int i = 0; i < textAnswer.getText().length(); i++) if ('.' == textAnswer.getText().charAt(i)) {isDot = true;break;}if (isDot == false) {if (dotFlag)textAnswer.setText('0' + ".");elsetextAnswer.setText(textAnswer.getText() + ".");}}if ((temp == buttonAdd || temp == buttonSub || temp == buttonMul ||temp == buttonDiv) && clickable == true) {// ′+′操作if (temp == buttonAdd) {switch (prekey) {case 0:answerd +=Double.parseDouble(textAnswer.getText());break;case 1:answerd -=Double.parseDouble(textAnswer.getText());break;case 2:answerd *=Double.parseDouble(textAnswer.getText());break;case 3:if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}elseanswerd /=Double.parseDouble(textAnswer.getText());break;default:answerd =Double.parseDouble(textAnswer.getText());}textAnswer.setText("");prekey = key = 0;}// ′-′操作if (temp == buttonSub) {switch (prekey) {case 0:answerd +=Double.parseDouble(textAnswer.getText());break;case 1:answerd -=Double.parseDouble(textAnswer.getText());break;case 2:answerd *=Double.parseDouble(textAnswer.getText());break;case 3:if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}elseanswerd /=Double.parseDouble(textAnswer.getText());break;default:answerd =Double.parseDouble(textAnswer.getText());}textAnswer.setText("");prekey = key = 1;}// ′*′操作if (temp == buttonMul) {switch (prekey) {case 0:answerd +=Double.parseDouble(textAnswer.getText());break;case 1:answerd -=Double.parseDouble(textAnswer.getText());break;case 2:answerd *=Double.parseDouble(textAnswer.getText());break;case 3:if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}elseanswerd /=Double.parseDouble(textAnswer.getText());break;default:answerd =Double.parseDouble(textAnswer.getText());}textAnswer.setText("");prekey = key = 2;}// ′/′操作if (temp == buttonDiv) {switch (prekey) {case 0:answerd +=Double.parseDouble(textAnswer.getText());break;case 1:answerd -=Double.parseDouble(textAnswer.getText());break;case 2:answerd *=Double.parseDouble(textAnswer.getText());break;case 3:if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}elseanswerd /=Double.parseDouble(textAnswer.getText());break;default:answerd =Double.parseDouble(textAnswer.getText());}textAnswer.setText("");prekey = key = 3;}}// ′=′操作if (temp == buttonEqual && clickable == true) {// 如果连续按′=′,则进行连续运算if (prekey == 5) {if (key == 0) {answerd += vard;textAnswer.setText(df.format(answerd));}if (key == 1) {answerd -= vard;textAnswer.setText(df.format(answerd));}if (key == 2) {answerd *= vard;textAnswer.setText(df.format(answerd));}if (key == 3) {if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}else {answerd /= vard;textAnswer.setText(df.format(answerd));}}}else {vard = Double.parseDouble(textAnswer.getText());if (key == 0) {prekey = -1;answerd +=Double.parseDouble(textAnswer.getText());textAnswer.setText(df.format(answerd));}if (key == 1) {prekey = -1;answerd -=Double.parseDouble(textAnswer.getText());textAnswer.setText(df.format(answerd));}if (key == 2) {prekey = -1;answerd *=Double.parseDouble(textAnswer.getText());textAnswer.setText(df.format(answerd));}if (key == 3) {prekey = -1;if(Double.parseDouble(textAnswer.getText()) == 0) {textAnswer.setText("除数不能为零");clickable = false;}else {answerd /=Double.parseDouble(textAnswer.getText());textAnswer.setText(df.format(answerd));}}}prekey = 5;resultIndicate = true;}// 显示PIif (temp == buttonPI && clickable == true) {textAnswer.setText(Double.toString(ng.Math.PI));}// 求正弦运算if (temp == buttonSin && clickable == true) {textAnswer.setText(Double.toString(ng.Math.sin(Double.parseDouble(textAnswer.getText()) *ng.Math.PI / 180)));}// 求余弦运算if (temp == buttonCos && clickable == true) {textAnswer.setText(Double.toString(ng.Math.cos(Double.parseDouble(textAnswer.getText()) *ng.Math.PI / 180)));}// 求正切运算if (temp == buttonTan && clickable == true) { textAnswer.setText(Double.toString(ng.Math.tan(Double.parseDouble(textAnswer.getText()) *ng.Math.PI / 180)));}// 求平方运算if (temp == buttonX2 && clickable == true) {answerd = Double.parseDouble(textAnswer.getText()) *Double.parseDouble(textAnswer.getText());textAnswer.setText(Double.toString(answerd));}// 开根号运算if (temp == buttonSqrt && clickable == true) {String s = textAnswer.getText();if (s.charAt(0) == '-') {textAnswer.setText("负数不能开根号");clickable = false;}elsetextAnswer.setText(Double.toString(ng.Math.sqrt(Double.parseDouble(textAnswer.getText()))));}// 按下′+/-′按钮时处理if (temp == buttonAddAndSub && clickable == true) {boolean isNumber = true;String s = textAnswer.getText();for (int i = 0; i < s.length(); i++)if (! (s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.'|| s.charAt(i) == '-')) {isNumber = false;break;}if (isNumber == true) {// 如果当前字符串首字母有′-′号,代表现在是个负数,再按下时,则将首符号去掉if (s.charAt(0) == '-') {textAnswer.setText("");for (int i = 1; i < s.length(); i++) {char a = s.charAt(i);textAnswer.setText(textAnswer.getText() + a);}}// 如果当前字符串第一个字符不是符号,则添加一个符号在首字母处elsetextAnswer.setText('-' + s);}}// 计算器有关内存操作// ′MC′的操作,将内存清0if (temp == buttonMC && clickable == true) {memoryd = memoryi = 0;textMemory.setText("");}// ′MS′的操作,将当前文本框内容保存入内存,显示′M′if (temp == buttonMS && clickable == true) {boolean isDot = false;textMemory.setText(" M");for(int i = 0; i < textAnswer.getText().length(); i++) if ('.' == textAnswer.getText().charAt(i)) {isDot = true;break;}// 如果是double,则存入memoryd(double存储器)if (isDot == true) {memoryd =Double.parseDouble(textAnswer.getText());memoryi = 0; //保证存储器中存放最新的值}// 如果是int,则存入memoryi(int存储器)else {memoryi = Integer.parseInt(textAnswer.getText());memoryd = 0; //保证存储器中存放最新的值}}//′MR′的操作,将存储器中的信息输出if (temp == buttonMR && clickable == true) {if (memoryd != 0)textAnswer.setText(Double.toString(memoryd));if (memoryi != 0)textAnswer.setText(Integer.toString(memoryi));}// ′M+′的功能,将当前文本框里的数据和存储器中数据相加后,再存入存储器if (temp == buttonMAdd && clickable == true) {boolean isDot = false;for(int i = 0; i < textAnswer.getText().length(); i++) if ('.' == textAnswer.getText().charAt(i)) {isDot = true;break;}if (memoryi != 0) { // 存储中是一个int型数if (isDot == false) // 被加数是一个int型数memoryi +=Integer.parseInt(textAnswer.getText());else { // 被加数是一个double型数,则将int存储器中数传入double存储器与当前数相加,int存储器清零memoryd = memoryi +Double.parseDouble(textAnswer.getText());memoryi = 0;}}elsememoryd +=Double.parseDouble(textAnswer.getText());}// 按下′Backspace′键,利用循环将当前字符串中的最后一个字母删除if (temp == buttonBS && clickable == true) {String s = textAnswer.getText();textAnswer.setText("");for (int i = 0; i < s.length() - 1; i++) {char a = s.charAt(i);textAnswer.setText(textAnswer.getText() + a);}}// 按下′CE′按钮,将当前文本框内数据清除if (temp == buttonCE) {textAnswer.setText("");clickable = true;}// 按下′C′按钮,文本框内数据清除,同时var,answer清零if (temp == buttonC) {vard = answerd = 0;textAnswer.setText("");clickable = true;}// 按下′复制′菜单栏if (temp == copyItem) {copy = textAnswer.getText();}// 按下′粘贴′菜单栏if (temp == pasteItem) {textAnswer.setText(copy);}}// 输入中如果有操作非法,比如按下两次′+′,捕获异常catch (Exception e) {textAnswer.setText("操作非法");clickable = false;}}六、设计体会通过这门课程的学习,我了解到了java语言的强大功能,虽然我不是计算机专业的学生,但是我对编程很感兴趣,大一学习c语言的时候,我从头到尾都很认真,经常自己编一些很有意思的小程序,对于java语言,只是听说过而已。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pt.addActionListener(this);
ct.addActionListener(this);
lc.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
Object ob =e.getSource();
华北科技学院计算机系
软件报告
课程名称Java程序设计A
实验学期2010至2011学年第二学期
学生所在系部计算机系
年级二专业班级信管B09-1
学生姓名XXXXXX学号2009xxxx
任课教师王养廷
实验成绩
计算机系制
《Java程序设计A》课程考试报告
开课实验室:软件开发实验室年月日
实验题目
简易文字编辑软件
file=new Menu("文件");
Edit=new Menu("编辑");
Colo=new Menu("颜色");
nw=new MenuItem("新建文件");
op=new MenuItem("打开文件");
cl=new MenuItem("关闭文件");
sf=new MenuItem("保存文件");
JColorChooser类调用系统选择颜色
cxolor=JColorChooser.showDialog(TextEditor.this,"Choose a color",cxolor)
JFileChooser类,创建文字选择器对象
FileReader in =new FileReader(f.getSelectedFile());
tx.setForeground(cxolor);}
}
public static void main(String[] args)
{
new TextEditor("我的文本编辑器");
}
}
class CloseHandler extends WindowAdapter
{
public void windowClosing(WindowEvent e)
file.add(sf);
file.add(ex);
Edit.add(cp);
Edit.add(pt);
Edit.add(ct);
Colo.add(lc);
mainmenubar.add(file);
mainmenubar.add(Edit);
mainmenubar.add(Colo);
setMenuBar(mainmenubar);
setSize(400,400);
setLocationRelativeTo(null);
menuinit();
tx=new JTextArea();
this.add(tx);
setVisible(true);
}
void menuinit()
{
MenuBar mainmenubar=new MenuBar();
下面对部分方法的使用进行简单介绍:
mainmenubar.add()将主菜单添加到菜单栏;
setMenubar()将菜单条添加到窗体;
setText()设置文本区显示内容;
getText()获取文本区内容;
3.程序代码
import java.awt.*;
import java.awt.event.*;
JFileChooser f=new JFileChooser();
if((ob==nw)||(ob==cl))
{
tx.setText("");
}
else if (ob==op)
{
f.showOpenDialog(this);
try
{
StringBuffer s=new StringBuffer();
{
MenuBar mainmenuba=new MenuBar();
Menu file;
Menu Edit;
Menu Colo;
MenuItem nw;
MenuItem op;
MenuItem cl;
MenuItem sf;
MenuItem ex;
MenuItem cp;
MenuItem pt;
MenuItem ct;
nw.addActionListener(this);
op.addActionListener(this);
cl.addActionListener(this);
sf.addActionListener(this);
ex.addActionListener(this);
cp.addActionListener(this);
二、设备与环境
PC兼容机、Windows操作系统、JAVA集成开发环境。
三、实验内容
1.完成文本编辑器的需求分析。
2.留言板的总体设计,列出主要的类和类间关系。
3.列出具体的实现代码。
4.写出程序的实现细节,主要得功能界面,实现说明。
5.写出总结和评价
四、实验结果及分析
1.需求分析
本软件(简易写字板)是一款简单的文字编辑软件。用户能够使用该软件进行简单的文字编辑,能够对所输入的文字对应的文件进行操作:
MenuItem lc;
JTextArea tx;
Color cxolor=new Color(000);
public TextEditor(String title)//编辑区
{
super(title);
CloseHandler handler=new CloseHandler();
this.addWindowListener(handler);
else if(ob==ct)
tx.cut();
实现了文字的编辑。
5.总结
教师评价
评定项目
A
B
C
D
评定项目
A
B
C
D
需求描述规范合理
ER图设计合理
数据库描述正确
数据分析和设计对应
系统实现有特色
系统实现
答辩演示
系统讲解
回答问题
报告规范
其他:
评价教师签名:
年月日
新建文件
关闭文件
保存文件
打开文件
退出;
同时能够进行文字的输入,颜色设置,对文字的复制,剪切,粘贴等基本操作。
文字的输入-------本功能是写字板的最基本功能,就是在文本编辑区中进行文字的输入。
颜色设置--------通过系统提供的颜色选择对话框进行字体颜色的设置。
复制---------本功能是将选中的文字复制到系统提供的剪切板中而实现的。
{
System.exit(0);
}
}
4.程序实现说明
首先是写字板的运行界面:
运行处写字板的状态如下:
单击菜单栏中的文件中打开文件即出现:
字体颜色的状态调用情况如下:
对文中字体进行复制,粘贴,剪切的代码如下:
else if(ob==cp)
tx.copy();
else if(ob==pt)
tx.paste();
}
catch(Exception ee)
{
}
}
else if (ob==ex)
System.exit(0);
else if(ob==cp)
tx.copy();
else if(ob==pt)
tx.paste();
else if(ob==ct)
tx.cut();
else if(ob==lc)
{cxolor=JColorChooser.showDialog(TextEditor.this,"Choose a color",cxolor);
catch(Exception ee)
{
}
}
else if(ob==sf)
{
f.showSaveDialog(this);
try
{
FileWriter out=new FileWriter(f.getSelectedFile());
out.write(tx.getText());
out.close();
下面对以上提到的类做一个简单的介绍:
AWT组件中的类Color类:
Color:利用系统中的颜色编辑对字体颜色进行设置
使用形式如下:
例:Color cxolor=new Color(000);
Swing组件中的类JTextArea类,JColorChooser类JFileChooser类
JTextArea类,创建文本区的对象tx=new JTextArea();
ex=new MenuItem("退出");
cp=new MenuItem("复制");
pt=new MenuItem("粘贴");
ct=new MenuItem("剪切");
lc=new MenuItem("字体颜色");
file.add(nw);
file.add(op);
file.add(cl);
FileReader in =new FileReader(f.getSelectedFile());
while(true)
{
int b=in.read();
if(b==-1)
break;
相关文档
最新文档