Java程序设计实验报告分析

合集下载

java语言程序设计实验报告

java语言程序设计实验报告

java语言程序设计实验报告
《Java语言程序设计实验报告》
实验目的:通过本次实验,学生将学会使用Java语言进行程序设计,掌握Java
语言的基本语法和编程技巧,并能够编写简单的Java程序。

实验内容:本次实验主要包括以下内容:1. Java语言的基本语法和数据类型;2. Java程序的输入输出;3. Java程序的流程控制;4. Java程序的函数和类的定义;
5. Java程序的异常处理等。

实验步骤:1. 阅读相关的Java语言教材和资料,了解Java语言的基本概念和
语法规则;2. 编写简单的Java程序,包括输入输出、流程控制、函数和类的定
义等;3. 调试和运行编写的Java程序,查看程序的运行结果;4. 对程序进行优
化和改进,提高程序的效率和性能。

实验结果:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,能够编写简单的Java程序,并能够运用Java语言解决实际的问题。

实验总结:通过本次实验,学生将对Java语言有了更深入的了解,掌握了Java
语言的基本概念和编程技巧,能够独立编写简单的Java程序。

同时,学生也将
培养了良好的编程习惯和解决问题的能力,为今后的学习和工作打下了良好的
基础。

结语:通过本次实验,学生将能够熟练掌握Java语言的基本语法和编程技巧,
为今后的学习和工作打下了良好的基础。

同时,也希望学生能够在今后的学习
和工作中不断提高自己的编程能力,为科技创新和社会发展做出更大的贡献。

java类的设计实验报告

java类的设计实验报告

java类的设计实验报告Java 类的设计实验报告一、实验目的本次实验的主要目的是深入理解和掌握 Java 类的设计原则、方法和技巧,通过实际的编程实践,提高对面向对象编程思想的应用能力,培养良好的编程习惯和代码规范。

二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容1、设计一个简单的学生类(Student),包含学生的姓名(name)、年龄(age)、学号(studentId)等属性,并提供相应的构造方法、getter 和 setter 方法。

2、设计一个课程类(Course),包含课程名称(courseName)、课程编号(courseId)、授课教师(teacher)等属性,同样提供构造方法和相关的访问方法。

3、设计一个学生选课类(StudentCourse),用于关联学生和课程,包含学生对象(student)、课程对象(course)、选课时间(selectTime)等属性,并实现相应的方法来获取和设置这些属性。

四、实验步骤(一)学生类(Student)的设计```javapublic class Student {private String name;private int age;private String studentId;//无参构造方法public Student(){}//有参构造方法public Student(String name, int age, String studentId) {thisname = name;thisage = age;thisstudentId = studentId;}// getter 和 setter 方法public String getName(){return name;}public void setName(String name) {thisname = name;}public int getAge(){return age;}public void setAge(int age) {thisage = age;}public String getStudentId(){return studentId;}public void setStudentId(String studentId) {thisstudentId = studentId;}}```(二)课程类(Course)的设计```javapublic class Course {private String courseName;private String courseId;private String teacher;//无参构造方法public Course(){}//有参构造方法public Course(String courseName, String courseId, String teacher) {thiscourseName = courseName;thiscourseId = courseId;thisteacher = teacher;}// getter 和 setter 方法public String getCourseName(){return courseName;}public void setCourseName(String courseName) {thiscourseName = courseName;}public String getCourseId(){return courseId;}public void setCourseId(String courseId) {thiscourseId = courseId;}public String getTeacher(){return teacher;}public void setTeacher(String teacher) {thisteacher = teacher;}}```(三)学生选课类(StudentCourse)的设计```javapublic class StudentCourse {private Student student;private Course course;private String selectTime;//无参构造方法public StudentCourse(){}//有参构造方法public StudentCourse(Student student, Course course, String selectTime) {thisstudent = student;thiscourse = course;thisselectTime = selectTime;}// getter 和 setter 方法public Student getStudent(){return student;}public void setStudent(Student student) {thisstudent = student;}public Course getCourse(){return course;}public void setCourse(Course course) {thiscourse = course;}public String getSelectTime(){return selectTime;}public void setSelectTime(String selectTime) {thisselectTime = selectTime;}}```(四)测试类```javapublic class Test {public static void main(String args) {//创建学生对象Student student1 = new Student("张三", 20, "001");//创建课程对象Course course1 = new Course("Java 编程","001","李老师");//创建学生选课对象StudentCourse studentCourse1 = new StudentCourse(student1,course1, "2023-09-01");//输出学生选课信息Systemoutprintln("学生姓名:"+ studentCourse1getStudent()getName());Systemoutprintln("学生年龄:"+ studentCourse1getStudent()getAge());Systemoutprintln("学生学号:"+ studentCourse1getStudent()getStudentId());Systemoutprintln("课程名称:"+ studentCourse1getCourse()getCourseName());Systemoutprintln("课程编号:"+ studentCourse1getCourse()getCourseId());Systemoutprintln("授课教师:"+ studentCourse1getCourse()getTeacher());Systemoutprintln("选课时间:"+studentCourse1getSelectTime());}}```五、实验结果与分析通过运行测试类,成功输出了学生选课的相关信息,包括学生的姓名、年龄、学号,课程的名称、编号、授课教师以及选课时间。

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程序设计》实验报告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程序设计》上机实验报告 实验五   流、文件及基于文本的应用

信息科学与工程学院《Java程序设计》上机实验报告专业班级姓名学号主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)2.编写一个程序,能将一个源程序中的空行及注释去掉,并将处理后的内容写到目标文件中。

(源文件名称和目标文件名称均要求以命令行参数形式输入)import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;public class CopyFile {static String delComm(String s){if(s==null)return s;int pos=s.indexOf("//"); //去掉以//开始的注释if(pos<0)return s;return s.substring(0,pos);}public static void main(String args[]){String infname="CopyFile.java";String outfname="CopyFile.txt";if(args.length>=1)infname=args[0];if(args.length>=2)outfname=args[1];try{File fin=new File(infname);File fout=new File(outfname);BufferedReader in = new BufferedReader(new FileReader(fin));PrintWriter out = new PrintWriter(new FileWriter(fout));int cnt=0;String s = in.readLine(); //写字符串while(s != null){主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)cnt ++;s=delComm(s); //去掉以//开始的注释out.println(cnt+":\t"+s);//写出s=in.readLine(); //读入}in.close(); //关闭缓冲读入流及文件读入流的连接out.close();}catch (FileNotFoundException e1){System.out.println("File not found");}catch(IOException e2){e2.printStackTrace();}}}主要问题的出错现象:1)运行程序后,无对应的输出结果出现2)源程序编写过程中,出现方法和类的调用无法完成.出错原因:1)函数调用时候,相关函数输入变量错误2)方法名的书写不符合规范,使得方法变为变量.解决方法及效果:1) 编写和调用类的方法时,注意参数的类型和数量的对应.2)规范命名.常量用大写字母,变量用小写字母开始,类以大写字母开始.实验小结:1) 为每个类分配正确的职责.尽量保持类功能单一. 不要在一个类中做太多事.2) BufferedReader的方法:readLine():String ,当他的返回值是null时,就表示读取完毕了。

【报告】java实训报告总结(三篇)

【报告】java实训报告总结(三篇)

java实训报告总结(三篇)篇一:java实验实训内蒙古商贸职业学院计算机系学生校内实验实训报告20--20学年第学期系部:计算机系课程名称:Java程序设计教程专业班级:内蒙古商贸职业学院计算机系制填写说明1、实验项目名称:要用最简练的语言反映实验的内容,要与实验指导书或课程标准中相一致。

2、实验类型:一般需要说明是验证型实验、设计型实验、创新型实验、综合型实验。

3、实验室:实验实训场所的名称;组别:实验分组参加人员所在的组号。

4、实验方案设计(步骤):实验项目的设计思路、步骤和方法等,这是实验报告极其重要的内容,概括整个实验过程。

对于操作型实验(验证型),要写明需要经过哪几个步骤来实现其操作。

对于设计型和综合型实验,在上述内容基础上还应该画出流程图和设计方法,再配以相应的文字说明。

对于创新型实验,还应注明其创新点、特色。

5、实验小结:对本次实验实训的心得体会、思考和建议等。

6、备注:分组实验中组内成员分工、任务以及其他说明事项。

注意:①实验实训分组完成的,每组提交一份报告即可,但必须说明人员分工及职责。

不分组要求全体成员独立完成的实验实训项目可由指导老师根据个人完成情况分组填写。

②实验成绩按照百分制记,根据教学大纲及课程考核要求具体区分独立计算、折算记入两种情况。

③本实验实训报告是根据计算机系实验的具体情况在学院教务处制的实验实训报告的基础上进行改制的。

特此说明。

成绩单组别:小组成员:篇二:实训实训收获总结报告学部:计算机信息学院学科门类:计算机信息类专业:计算机应用技术姓名:朱恩林学号:____020实习单位:北京盛威南凌信息科技有限公司指导教师:王洪钊实习时间:____年5月15号―9月23号一、实训目的计算机信息管理专业的java实训在教学计划中是实训、实习课程。

它涵盖了java开发和工程组织、数据结构等多项相关知识。

通过对java语言、JavaWeb、数据库、jsp、html+css、ssh框架应用设计及SQL 语言的复习和锻炼,并且通过使用elipse开发平台设计库存管理系统项目,以达到充分熟悉开发平台及其应用设计。

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实验研究报告一

JAVA实验研究报告一

Java语言程序设计实验报告一班级:姓名:学号:一、实验教案目的与基本要求Java程序设计的实验是Java程序设计课程重要的实践教案环节。

实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。

充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。

本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。

本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。

(1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。

(2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。

(3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获(1)Java的安装与配置。

熟悉语言环境及简单程序设计的使用练习,正确配置Java开发环境(Eclipse 集成开发环境的安装、配置与使用)a)安装JDKSun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。

可以通过IE或Netscape浏览器浏览网址:/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。

安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。

正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。

java程序设计实验报告

java程序设计实验报告

java程序设计实验报告
实验一:实现个人信息管理系统
实验目的:学习如何使用Java语言来完成一个简单的面向对象程序设计。

实验内容:
本次实验的任务是开发一个个人信息管理系统,可以完成一些基本的信息管理功能,如增加、删除、查询和修改个人信息等。

实验步骤:
1. 定义Person类并实现其属性和方法。

2. 在主类中实现简单的用户交互界面。

3. 实现文件持久化,将程序中的信息储存在文件中。

4. 实现增加、删除、查询和修改个人信息的功能。

实验结论:
通过本次实验,我学会了如何使用Java语言来实现一个简单的面向对象程序设计。

在开发过程中,我学会了如何定义类、实现属性和方法,如何进行用户交互界面的设计,以及如何将程序中的信息储存在文件中。

Java实验报告一及作业总结二

Java实验报告一及作业总结二

Java实验报告⼀及作业总结⼆Java实验报告实验⼀ Java开发环境与简单Java程序⼀、实验⽬的(1)熟悉JDK开发环境(2)熟练掌握结构化程序设计⽅法⼆、实验内容1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。

例如,153是⼀个“⽔仙花数”。

2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

3. 编程求1!+2!+3!+…+20!。

4. 编写Java程序,计算8+88+888+…前10项之和。

5. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。

编写程序输出1000以内的所有完数。

6. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。

7. 使⽤for循环打印下⾯的图形。

三、实验过程1. 打印输出所有的“⽔仙花数”,所谓“⽔仙花数”是指⼀个3位数,其中各位数字⽴⽅和等于该数本⾝。

例如,153是⼀个“⽔仙花数”。

实验源码:实验结果:1533703714072. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

实验源码:实验结果:-5003.编程求1!+2!+3!+…+20!。

实验源码:实验结果:40379134.编写Java程序,计算8+88+888+…前10项之和。

实验源码:实验结果:12866086085. ⼀个数如果恰好等于它的因⼦之和,这个数就称为完数。

编写程序输出1000以内的所有完数。

实验源码:实验结果:6284966. 编写应⽤程序,输出满⾜1+2+3+…+n<8888的最⼤正整数。

实验源码:实验结果:1327. 使⽤for循环打印下⾯的图形。

四、实验总结:觉得还是要多练题,增加⾃⼰的逻辑,解决相关问题。

总结报告:⼀:类的定义:基本⽅式;public static 返回值类型⽅法名(参数类型参数名称,.......){⽅法体; return 返回值;}⽅法的三种调⽤⽅式;注意:void 只能⽤于单独调⽤;要有⼀个更重要的地⽅在学习类的定义的时候,定义成员⽅法的时候与基本⽅法不同,成员⽅法他不需要static关键字,这个要注意!熟悉代码 这⾥说明⼀下什么时候⽤什么时候不⽤static关键字:在定义成员⽅法时不⽤,即因为此时定义的⽅法将要由对象调⽤,⽽不像之前那样与主⽅法⼀起定义在⼀个类当中且由主⽅法直接调⽤。

(完整版)《JAVA程序设计》实验报告

(完整版)《JAVA程序设计》实验报告

福建师范大学协和学院本科实验报告课程名称:JA V A程序设计系别:专业:班级:学号:学生姓名:2011年月日实验项目列表《JA V A程序设计》实验相关说明实验要求:1.明确实验课是课程的重要组成部分,与理论课有着同等地位,是培养自身的实验技能与创新能力的重要途径;2.在实验课前,对实验的目的、要求和基本内容,实验的重点和难点,应进行预习与讨论,确定实施措施,并编写好程序;3.了解实验室的规章制度和安全用电常识、实验设备损坏赔偿制度等,加强安全意识,爱惜实验设备;4.实验课期间不得擅自离开实验室或从事与本实验无关的活动,按时按质完成实验作业,培养创造性思维,努力提高自身的实践能力;5.每次实验应提交实验结果,指导老师将结合实验操作过程给予综合评分(对于有创造性的实验成果酌情给予加分),作为期末考试成绩的一部分。

实验须知:1.每次实验完成之后,学生须填写实验报告,并上交。

报告内容包括:实验目的、实验内容、实验步骤、思路分析或流程图、程序源代码、实验中未解决的问题、屏幕出错提示代码、出错原因、解决方法及实验心得等内容。

不交实验报告的学生,本次实验成绩为0分。

2.若有拷贝现象,程序代码雷同的学生实验成绩一律为0分。

3.每次实验任务必须在2-6节课内完成,并经过实验指导老师检查才能得分。

没能按时完成的同学,本次实验成绩为0分。

福建师范大学协和学院《JA V A程序设计》课程实验报告班级:______学号:_________________姓名:_____________成绩:教师签字:实验一简单输入/输出项目设计一、实验目的1、了解Java运行环境的安装与配置。

2、了解程序的基本结构,编辑、编译与运行方法。

3、掌握方法的调用、异常的处理。

二、实验环境(主要仪器设备和软件)1、操作系统Windows XP2、JA V A开发包JSDK1.63、代码编辑器Jcreart3.24、数据库管理系统MySQL5.05、数据库可视化管理平台CapVideo8.06、Web服务器TomCat5.07、JA V A开发工具MyEclipse7.08、微机三、实验内容1、Java开发包的下载与安装;2、环境变量的设置;3、安装配套开发软件;4、熟悉各类软件的使用;5、以下内容至少任选一项完成:选项一:编写一个应用程序绘制一个如下的操作菜单。

JAVA实验报告

JAVA实验报告

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

同时,培养自己解决实际问题的能力,提高编程的熟练程度和代码质量。

二、实验环境操作系统:Windows 10开发工具:EclipseJDK 版本:18三、实验内容及步骤(一)基本语法练习1、数据类型与变量定义不同类型的变量,如整数型(int)、浮点数型(float、double)、字符型(char)和字符串型(String),并进行赋值和输出操作。

了解不同数据类型的取值范围和精度,以及在实际编程中的应用场景。

2、控制结构编写使用 ifelse 语句、switch 语句进行条件判断的程序。

运用 for 循环、while 循环和 dowhile 循环实现重复执行的操作。

3、数组与字符串声明和初始化一维数组和二维数组,对数组元素进行访问和操作。

进行字符串的拼接、截取、查找等常见操作。

(二)面向对象编程实践1、类与对象定义一个简单的类,包含属性和方法。

创建该类的对象,并调用对象的方法来操作属性。

2、继承与多态建立父类和子类,实现继承关系。

在子类中重写父类的方法,展示多态性。

3、封装与抽象将类的属性设置为私有,并提供公共的访问方法(getter 和 setter),实现封装。

定义抽象类和抽象方法,体会抽象的概念和作用。

(三)常用类库的使用1、 Java 输入输出(IO)使用 Scanner 类实现从控制台读取用户输入的数据。

运用 File 类和相关的输入输出流类,实现文件的读取和写入操作。

2、集合框架熟悉 ArrayList、LinkedList 等线性集合的使用方法。

了解 HashSet、TreeSet 等集合的特点和应用场景。

3、异常处理在程序中加入可能引发异常的代码段,并使用 trycatch 语句捕获和处理异常。

四、实验结果与分析(一)基本语法练习1、数据类型与变量成功定义了各种数据类型的变量,并正确进行了赋值和输出。

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程序设计实验报告

学生学号实验课成绩武汉理工大学学生实验报告书实验课程名称 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

java实验报告实验报告java实验报告Java一、实验目的本次实验的目的是熟悉Java语言,了解Java程序结构,掌握Java程序的开发流程,加深对Java语言特性的认识和理解。

二、实验内容本次实验内容为设计一个简单的Java程序,包括设计程序的需求分析、设计方案、编写代码、测试运行结果等环节。

三、实验分析3.1 需求分析设计一个Java程序,要求该程序能够实现以下功能:1. 用户可以输入两个数,程序可以对这两个数进行加、减、乘、除的操作,并输出运算结果。

2. 用户可以输入一个字符串,程序可以对该字符串进行反转输出。

3.2 设计方案根据需求分析,我们可以先设计一个简单的界面,包括输入框、选择运算符号的下拉框,以及一个按钮,当用户输入完毕后点击按钮即可进行相应的操作。

3.3 编写代码根据设计方案,我们先编写一个简单的界面代码:import java.awt.*;import javax.swing.*;public class Calculator extends JFrame {private JTextField text1, text2, text3;private JComboBox<String> combo;private JButton calcBtn, reverseBtn, factBtn;public Calculator() {super("Calculator");text1 = new JTextField(5);text2 = new JTextField(5);text3 = new JTextField(10);combo = new JComboBox<String>(new String[]{"+", "-", "*", "/"});calcBtn = new JButton("Calculate");reverseBtn = new JButton("Reverse");factBtn = new JButton("Factorial");JPanel panel2 = new JPanel();panel2.add(new JLabel("String:"));panel2.add(text3);panel2.add(reverseBtn);pack();setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}该界面中包含了3个面板,一个用于加减乘除,一个用于字符串反转,一个用于阶乘操作。

java实验报告分析

java实验报告分析

java实验报告分析《Java实验报告分析》摘要:本实验报告通过对Java编程语言的实验进行分析,探讨了Java在不同应用场景下的性能和效率表现。

通过对实验结果的分析,总结了Java的优势和不足之处,并提出了改进建议。

1. 引言Java作为一种广泛应用的编程语言,具有跨平台、面向对象、强类型等特点,被广泛应用于企业级应用开发、大型系统构建等领域。

本实验旨在通过对Java 编程语言的实验分析,探讨其在不同应用场景下的性能和效率表现,为开发者提供参考和改进建议。

2. 实验设计本实验选择了不同的应用场景,包括大数据处理、网络编程、图形界面等,对Java编程语言进行了性能测试和效率分析。

通过编写相应的实验代码,模拟不同场景下的应用情况,收集实验数据并进行分析。

3. 实验结果通过对实验数据的分析,得出了以下结论:- 在大数据处理方面,Java表现出较好的性能和稳定性,能够有效处理大规模数据,并且具有较高的并发能力。

- 在网络编程方面,Java的Socket编程能够实现稳定的网络通信,并具有较高的扩展性和灵活性。

- 在图形界面方面,Java的Swing和JavaFX等框架能够实现丰富的用户界面,并具有良好的跨平台性能。

4. 结论通过对实验结果的分析,可以得出以下结论:- Java在大数据处理、网络编程、图形界面等方面具有较好的性能和效率表现,适用于各种应用场景。

- Java在一些特定场景下仍存在一些性能和效率方面的不足,需要进一步改进和优化。

5. 改进建议针对Java在一些特定场景下的不足,可以提出以下改进建议:- 进一步优化JVM性能,提高Java在大数据处理方面的效率和并发能力。

- 加强对网络编程和多线程并发的支持,提高Java在网络编程方面的性能和稳定性。

- 不断优化图形界面框架,提高Java在图形界面开发方面的用户体验和性能表现。

6. 结语通过对Java编程语言的实验分析,可以得出Java在不同应用场景下的性能和效率表现。

Java程序设计实验报告分析

Java程序设计实验报告分析

学生实验报告(理工类)课程名称: JAVA程序设计专业班级: 13电子信息工程(2)学生学号: 1305102056 学生姓名:许伟铭所属院部:软件工程学院指导教师:王倩倩20 15 ——20 16 学年第 2 学期金陵科技学院教务处制实验报告书写要求实验报告原则上要求学生手写,要求书写工整。

若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。

纸张一律采用A4的纸张。

实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。

各院部可根据学科特点和实验具体要求增加项目。

填写注意事项(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。

(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。

实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:JAVA编程基础实验学时: 4 同组学生姓名:————实验地点: 1514/A203 实验日期: 2016.04.08 实验成绩:批改教师:王倩倩批改时间:一、实验目的和要求(1)熟练掌握JDK1.7及Eclipse Kepler Service Release 1(下简称Eclipse)编写调试Java应用程序及Java小程序的方法;(2)熟练掌握Java应用程序的结构;(3)了解Java语言的特点,基本语句、运算符及表达式的使用方法;(4)熟练掌握常见数据类型的使用;(5)熟练掌握if-else、switch、while、do-while、for、continue、break、return 语句的使用方法;(6)熟练掌握数组和字符串的使用;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。

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

学生实验报告(理工类)课程名称: JAVA程序设计专业班级: 13电子信息工程(2)学生学号: 1305102056 学生姓名:许伟铭所属院部:软件工程学院指导教师:王倩倩20 15 ——20 16 学年第 2 学期金陵科技学院教务处制实验报告书写要求实验报告原则上要求学生手写,要求书写工整。

若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。

纸张一律采用A4的纸张。

实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。

各院部可根据学科特点和实验具体要求增加项目。

填写注意事项(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。

(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。

实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:JAVA编程基础实验学时: 4 同组学生姓名:————实验地点: 1514/A203 实验日期: 2016.04.08 实验成绩:批改教师:王倩倩批改时间:一、实验目的和要求(1)熟练掌握JDK1.7及Eclipse Kepler Service Release 1(下简称Eclipse)编写调试Java应用程序及Java小程序的方法;(2)熟练掌握Java应用程序的结构;(3)了解Java语言的特点,基本语句、运算符及表达式的使用方法;(4)熟练掌握常见数据类型的使用;(5)熟练掌握if-else、switch、while、do-while、for、continue、break、return 语句的使用方法;(6)熟练掌握数组和字符串的使用;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。

二、实验仪器和设备奔腾以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件。

三、实验过程(1)分别使用JDK命令行和Eclipse编译运行Java应用程序。

记录操作过程。

Java应用程序参考如下:思考:1. 适当添加注释信息,通过javadoc生成注释文档;2. 为主方法传递参数“Hello world”字符串,并输出;3. 压缩生成".jar"文件。

(2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。

记录操作过程。

Java小应用程序参考如下:HTML文档参考如下:<html><applet code="HelloApplet.class" height=100 width=300></applet></html>(3)输出下列数字形式。

①n=40 0 0 00 1 1 10 1 2 20 1 2 3② n=411 2 11 2 3 2 11 2 3 4 3 2 1(4)采用数组输出等腰三角形的杨辉三角。

(5)判断回文字符串回文是一种“从前向后读”和“从后向前读”都相同的字符串。

如“rotor”是一个回文字符串。

程序中使用了两种算法来判断回文字符串:算法一:分别从前向后和从后向前依次获得原串str的一个字符ch1、ch2,比较ch1和ch2,如果不相等,则str肯定不是回文串,yes=false,立即退出循环:否则继续比较,直到字符全部比较完,yes的值仍为true,才能肯定str是回文串。

算法二:将原串str反转成temp串,再比较两串,如果相等则是因文字符串。

要求:(1)编译调试程序之前应配置好环境变量;(2)要分别掌握用JDK命令行和Eclipse集成开发环境调试Java程序;(3)注意Java两大类程序:应用程序和小程序的区别。

程序清单:(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。

)(实验一程序清单续1)(3)①public class shuxing {public static void main(String[] args) {int n=4;for(int i=0;i<n;i++){for(int j=0;j<n;j++){System.out.print(" "+((i<j)?i:j));}System.out.println();}}}②public class shuxingtower {public static void main(String[] args) {int n=4;for(int i=0;i<=n;i++){for(int j=1;j<=n-i;j++)System.out.print(" ");for(int j=1;j<=i;j++)System.out.print(" "+j);for(int j=i-1;j>0;j--)System.out.print(" "+j);System.out.println();}}}(4)public class yanghui {public static void main(String[] args) {int[][] a=new int[5][5];for(int i=0;i<5;i++){a[i][0]=1;a[i][i]=1;}for(int i=2;i<5;i++){for(int j=1;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];}for(int i=0;i<5;i++){for(int k=0;k<=5-i;k++){System.out.print(" ");}for(int j=0;j<=i;j++){System.out.print(a[i][j]+" ");}System.out.println();}}}(5)public class palindrome {public static void main(String[] args) {String str="rotor";int i=0;int n=str.length();boolean yes=true;System.out.println("str="+str);char ch1,ch2;while(yes&&(i<n/2)){ch1=str.charAt(i);ch2=str.charAt(n-i-1);if(ch1==ch2) i++;else yes=false;}System.out.println("算法1: "+yes);String temp="",sub="";for(i=0;i<n;i++){sub=str.substring(i,i+1);temp=sub+temp;}System.out.println("temp="+temp);System.out.println("算法2: "+str.equals(temp));}}四、实验结果与分析(1)(2)(3)①②(4)(5)实验项目名称:面向对象编程实验学时: 8 同组学生姓名:————实验地点:实验日期:实验成绩:批改教师:批改时间:一、实验目的和要求(1)熟练掌握Java语言类定义的基本语法;(2)熟练掌握类成员的访问控制,对象建立的方法;(3)熟练掌握类构造方法、成员方法的定义和重载;(4)熟练掌握类继承、多态和抽象性;(5)熟练掌握接口的定义和实现方法;(6)掌握基本的异常处理方法;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。

二、实验仪器和设备奔腾以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件。

三、实验过程(1)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、字符串描述、比较是否相等等操作。

(2)设计三角形类,继承图形抽象类,实现面积接口和周长接口,计算三角形面积和周长。

(3)包的建立与使用:设计计算器类Calculator,计算加、减、乘、除,并且打包为mypackage。

观察源文件目录下是否生成了mypackage文件夹,在该文件夹中是否有Calculate.class文件。

编辑PackageDemo.java,保存在Calculator.java同一目录下,引用计算器类的各方法显示计算结果。

(4)编码实现多态在工资系统中的应用:给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。

Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。

该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。

在主测试类Test中测试各类雇员工资计算结果。

提示:对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Employee派出生的。

在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。

为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引用并调用earnings()方法。

在一个实际的工资系统中,各种Employee对象的引用可以通过一个Employee引用数组来实现。

程序依次使用数组的每个元素(Employee引用)调用每个对象的earnings()方法。

Employee类定义如下:abstract class Employee{private String firstName;private String lastName;public Employee(String first,String last){firstName=first;lastName=last;}public String getEmployeeName(){return firstName;}public String getLastName(){return lastName;}public String toString(){return firstName+lastName;}public abstract String earnings();}(5)异常的捕获:计算两数相除并输出结果。

相关文档
最新文档