学生实验报告(理工类)课程名称:JAVA程序设计专业班级:xxxxxxxxxxxxxxxxxxxxxxx学生学号:xxxxxxxxx学生姓名:xxxxxx所属院部:xxxxxxxxxxx指导教师:xxxxxxxx2014——2015学年第1学期实验报告书写要求实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。填写注意事项(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。(3)尽量采用专用术语来说明事物。(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。实验项目名称:JAVA编程基础实验学时:4同组学生姓名:————实验地点:1318实验日期:2014.9.25实验成绩:批改教师:xxxxx批改时间:一、实验目的和要求(1)熟练掌握JDK1.6及MyEclipse8.5编写调试Java应用程序及Java小程序的方法;(2)熟练掌握Java应用程序的结构;(3)了解Java语言的特点,基本语句、运算符及表达式的使用方法;(4)熟练掌握常见数据类型的使用;(5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法;理解和掌握重载方法;(6)熟练掌握数组和字符串的使用;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。二、实验仪器和设备奔腾以上计算机,Windows操作系统,装有JDK1.6和MyEclipse8.5软件。三、实验过程(1)分别使用JDK命令行和MyEclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello!”字符串,并输出,记录操作过程。publicclassHello{publicstaticvoidmain(Stringargs[]){System.out.println(Hello!);}}(2)教材P11页程序调试,改写程序;(3)编写一个重载方法的程序,调试通过。要求:(1)编译调试程序之前应配置好环境变量;(2)要分别掌握用JDK命令行和MyEclipse集成开发环境调试Java程序;(3)注意Java重载程序:构造方法和成员方法的区别。程序清单:(建议程序中适当添加注释信息,增强可读性;较长程序分栏书写,保证报告排版整洁美观。)(实验一程序清单续1)(2)教材P11页程序调试,改写程序;packagepack;importmypackage.Point;publicclassLine{publicstaticPointstart;publicstaticPointend;publicLine(Pointstart,Pointend){this.start=start;this.end=end;}publicStringtoString(){returnthis.getClass().getName()+(+this.start.toString()+,+this.end.toString()+);}publicdoublelength(){inta=start.x-end.x,b=start.y-end.y;returnMath.sqrt(a*a+b*b);}publicstaticvoidmain(Stringargs[]){Linel=newLine(start,end);Pointstart=newPoint(100,100);Pointend=newPoint(100,200);System.out.println(newLine(start,end).toString());System.out.println(l.length());}}(实验一程序清单续2)(3)编写一个重载方法的程序,调试通过。publicclassdcc{publicvoidder(){System.out.println('z');}publicintder(intc){returnc;}publicStringder(inti,charc){returnc+=+i;}publicstaticvoidmain(String[]args){dccy=newdcc();y.der();System.out.println(y.der(4,'z'));System.out.println(y.der(20));}}四、实验结果与分析(1)分别使用JDK命令行和MyEclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello!”字符串,并输出,记录操作过程。运行结果:Hello!(2)教材P11页程序调试,改写程序;调试结果:pack.Line(Point(100,100),Point(100,200))程序改写后的调试结果:pack.Line(Point(100,100),Point(100,200))100.0(3)编写一个重载方法的程序,调试通过。运行结果:zz=420实验项目名称:面向对象编程实验学时:8同组学生姓名:————实验地点:实验日期:2014-10-23实验成绩:批改教师:xxxx批改时间:一、实验目的和要求(1)熟练掌握Java语言类定义的基本语法;(2)熟练掌握类成员的访问控制,对象建立的方法;(3)熟练掌握类构造方法、成员方法的定义和重载;(4)熟练掌握类继承、多态和抽象性;(5)熟练掌握接口的定义和实现方法;(6)掌握基本的异常处理方法;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9)做完实验后给出本实验的实验报告。二、实验仪器和设备奔腾以上计算机,Windows操作系统,装有JDK1.6和MyEclipse8.5软件。三、实验过程(1)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、比较、字符串描述、比较是否相等等操作。(2)设计圆柱体类和圆椎体类,继承圆类Circle并实现Volume接口,计算表面积和体积。(3)设计三角形类,继承图形抽象类,计算三角形面积和周长。(4)包的建立与使用:设计计算器类Calculator,计算加、减、乘、除和立方体体积,并且打包为mypackage。观察源文件目录下是否生成了mypackage文件夹,在该文件夹中是否有Calculate.class文件。编辑PackageDemo.java,保存在Calculator.java同一目录下,引用计算器类的各方法显示计算结果。(5)试编码实现多态在工资系统中的应用:给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。在主测试类Test中测试各类雇员工资计算结果。提示:对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Employee派出生的。在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引用并调用earnings()方法。在一个实际的工资系统中,各种Employee对象的引用可以通过一个Employee引用数组来实现。程序依次使用数组的每个元素(Employee引用)调用每个对象的earnings()方法。Employee类定义如下:abstractclassEmployee{privateStringfirstName;privateStringlastName;publicEmployee(Stringfirst,Stringlast){firstName=first;lastName=last;}publicStringgetEmployeeName(){returnfirstName;}publicStringgetLastName(){returnlastName;}publicStringtoString(){returnfirstName+lastName;}publicabstractStringearnings();}(6)异常的捕获:计算两数相除并输出结果。使用三个catch子句,分别捕捉输入输出异常、除数为0的异常和参数输入有误异常。importjava.io.*;classEx1{publicstaticvoidmain(Stringargs[]){try{BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));//建立输入流缓冲区System.out.print(请输入除数:);Stringcl=strin.readLine();//键盘输入inta=Integer.parseInt(cl);System.out.print(请输入被除数:);cl=strin.readLine();intb=Integer.parseInt(cl);intc=b/a;System.out.println(商为:+c);}//捕获与I/O有关的异常(空白处补全捕获语句)//捕获数值转化时的异常,如不能将字符转化成数值//捕获除数为0的异常}}编译并运行,当产生输入输出异常时显示异常信息;当输入除数为0时,出现算术异常,提示除数为0,并要求重新输入;当输入的不是整数时,如将30输成了3o,出现数值格式异常,提示输入整数。(8)编写程序包含自定义异常MyException,当100被13和4除时抛出该异常,其余除数显示商值。要求:(1)注意选用适当的类成员修饰符(private、protected、public等),比较它们的使用情况;(2)养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如two.num1表示实验二的第一题;(3)学会使用MyEclipse的各种调试方法;(4)学会查阅JavaAPI文档,如查找异常类的使用方法。程序清单:(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)(1)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、比较、字符串描述、比较是否相等等操作。publicclassComplex{privatedoublereal,imag;publicComplex(doublereal,doubleimag){this.real=real;this.imag=imag;}publicComplex(){this(0.0,0.0);}publicComplex(Complexc){this.real=c.real;this.imag=c.imag;}