1、JAVA实验报告学 生 实 验 报 告(理工类)课程名称:JAVA程序设计 专业班级:xxxxxxxxxxxxxxxxxxxxxxx 学生学号: xxxxxxxxx 学生姓名: xxxxxx 所属院部: xxxxxxxxxxx 指导教师: xxxxxxxx 20 14 20 15 学年 第 1 学期 实验报告书写要求实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加
2、项目。填写注意事项(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。(3)尽量采用专用术语来说明事物。(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。实验项目名称:JAVA编程基础 实验学时: 4 同组学生姓名: 实验地点: 131
3、8 实验日期: 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) 调试程序要记录调试过程中出现的问题及解决办法;
4、(8) 编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9) 做完实验后给出本实验的实验报告。二、实验仪器和设备奔腾以上计算机,Windows 操作系统,装有JDK1.6和MyEclipse8.5软件。三、实验过程(1)分别使用JDK命令行和MyEclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello!”字符串,并输出,记录操作过程。public class Hello public static void main(String args) System.out.println(Hello!); (2)
5、教材P11页程序调试,改写程序; (3)编写一个重载方法的程序,调试通过。 要求:(1) 编译调试程序之前应配置好环境变量;(2) 要分别掌握用JDK命令行和MyEclipse集成开发环境调试Java程序;(3) 注意Java重载程序:构造方法和成员方法的区别。程序清单:(建议程序中适当添加注释信息,增强可读性;较长程序分栏书写,保证报告排版整洁美观。)(实验一程序清单续1)(2)教材P11页程序调试,改写程序;package pack;import mypackage.Point;public class Line public static Point start;public stati
6、c Point end; public Line(Point start,Point end) this.start=start; this.end=end; public String toString() return this.getClass().getName()+(+this.start.toString()+,+this.end.toString()+); public double length() int a=start.x-end.x,b=start.y-end.y; return Math.sqrt(a*a+b*b); public static void main(St
7、ring args) Line l=new Line(start, end); Point start=new Point(100,100); Point end=new Point(100,200); System.out.println(new Line(start,end).toString(); System.out.println(l.length(); (实验一程序清单续2)(3)编写一个重载方法的程序,调试通过。public class dcc public void der() System.out.println(z); public int der(int c) retur
8、n c; public String der(int i,char c) return c + = + i; public static void main(String args) dcc y = new dcc(); y.der(); System.out.println(y.der(4,z); System.out.println(y.der(20); 四、实验结果与分析(1)分别使用JDK命令行和MyEclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello!”字符串,并输出,记录操作过程。运行结果:Hello!(2)教材P1
9、1页程序调试,改写程序;调试结果: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)熟练掌握类构造方法、成员方法的定义和重载;(
10、4)熟练掌握类继承、多态和抽象性;(5)熟练掌握接口的定义和实现方法;(6)掌握基本的异常处理方法;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9) 做完实验后给出本实验的实验报告。二、实验仪器和设备奔腾以上计算机,Windows 操作系统,装有JDK1.6和MyEclipse8.5软件。三、实验过程(1) 设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、比较、字符串描述、比较是否相等等操作。(2) 设计圆柱体类和圆椎体类,继承圆类Circle并实现Volume接口,计算表面积和体积。
11、(3) 设计三角形类,继承图形抽象类,计算三角形面积和周长。(4) 包的建立与使用:设计计算器类Calculator,计算加、减、乘、除和立方体体积,并且打包为mypackage。观察源文件目录下是否生成了mypackage文件夹,在该文件夹中是否有Calculate.class文件。编辑PackageDemo.java,保存在Calculator.java同一目录下,引用计算器类的各方法显示计算结果。(5)试编码实现多态在工资系统中的应用:给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资
12、,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。在主测试类Test中测试各类雇员工资计算结果。提示:对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Employee派出生的。在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。为了计算雇员的工资,程序仅仅使用
13、雇员对象的一个超类引用并调用earnings()方法。在一个实际的工资系统中,各种Employee对象的引用可以通过一个Employee引用数组来实现。程序依次使用数组的每个元素(Employee引用)调用每个对象的earnings()方法。Employee类定义如下:abstract class Employeeprivate String firstName;private String lastName;public Employee(String first,String last) firstName=first; lastName=last; public String getEm
14、ployeeName()return firstName;public String getLastName() return lastName;public String toString()return firstName+lastName;public abstract String earnings();(6)异常的捕获:计算两数相除并输出结果。使用三个catch子句,分别捕捉输入输出异常、除数为0的异常和参数输入有误异常。import java.io.*;class Ex1public static void main(String args ) try BufferedReader
15、 strin=new BufferedReader( new InputStreamReader(System.in);/建立输入流缓冲区 System.out.print(请输入除数:); String cl=strin.readLine();/键盘输入 int a=Integer .parseInt(cl); System .out .print(请输入被除数:); cl=strin .readLine(); int b=Integer .parseInt(cl); int c=b/a; System .out .println(商为:+c); /捕获与I/O有关的异常(空白处补全捕获语句
16、) /捕获数值转化时的异常,如不能将字符转化成数值 /捕获除数为0的异常 编译并运行,当产生输入输出异常时显示异常信息;当输入除数为0时,出现算术异常,提示除数为0,并要求重新输入;当输入的不是整数时,如将30输成了3o,出现数值格式异常,提示输入整数。(8)编写程序包含自定义异常MyException,当100被13和4除时抛出该异常,其余除数显示商值。要求:(1) 注意选用适当的类成员修饰符(private、protected、public等),比较它们的使用情况;(2) 养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如two.num1表示实验二的第
17、一题;(3) 学会使用MyEclipse的各种调试方法;(4) 学会查阅Java API文档,如查找异常类的使用方法。程序清单:(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)(1)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加法、减法、比较、字符串描述、比较是否相等等操作。public class Complex private double real,imag; public Complex(double real,double imag) this.real=real; this.imag=imag; public Complex() t
18、his(0.0,0.0); public Complex(Complex c) this.real=c.real; this.imag=c.imag; void set(double r,double i) real=r; imag=i; void set(Complex d) set(d.real,d.imag); public void add(Complex c) this.real += c.real; this.imag += c.imag; public void minus(Complex c) this.real -= c.real; this.imag -= c.imag;
19、public static Complex add(Complex c1, Complex c2) return new Complex(c1.real+c2.real, c1.imag+c2.imag); public static Complex minus(Complex c1, Complex c2) return new Complex(c1.real-c2.real, c1.imag-c2.imag); public boolean equals(Object obj) if (this=obj) return true; if (obj instanceof Complex) C
20、omplex c=(Complex)obj; return this.real=c.real & this.imag=c.imag; return false; public String toString() return (+this.real+this.imag+i); public static void main(String args) Complex a=new Complex(2.0,3.5); Complex b=new Complex(9.0,1.7); Complex c=b; System.out.println(a+b+=+Complex.add(a,b); Syst
21、em.out.println(a+-+b+=+Complex.minus(a,b); System.out.println(b:+b+,c:+c+,b=c?+(b=c)+,b.equals(c)?+(b.equals (c); c=new Complex(); c.set(b); System.out.println(b:+b+,c:+c+,b=c?+(b=c)+,b.equals(c)?+(b.equals (c); (2)设计圆柱体类和圆椎体类,继承圆类Circle并实现Volume接口,计算表面积和体积。class Circle static double PI=3.14159; dou
22、ble r; public Circle(double r)this.r=r; double area()return PI*r*r; class Sphere extends Circle public Sphere(double r)super(r); public double area()return 4*PI*r*r; public double volume()return 3*PI*Math.pow(r,3)/4; class Column extends Circle private double h; public Column(double r,double h) supe
23、r(r); this.h=h; public double area()return 2*PI*r*h+2*PI*r*r; public double volume()return PI*r*r*h; class Taper extends Circle private double h; public Taper(double r,double h) super(r); this.h=h; public double area()return PI*r*Math.sqrt(h*h+r*r)+PI*r*r; public double volume()return PI*r*r*h/3; pu
24、blic class test public static void main(String args) Circle cir=new Circle(3.0); System.out.println(Area of circle=+cir.area(); Sphere sph=new Sphere(6.0); System.out.println(Area of shere=+sph.area()+n+volume of sphere=+sph.volume(); Column col=new Column(3.0,5.0); System.out.println(Area of Column
25、=+col.area()+n+volume of column=+col.volume(); Taper tap=new Taper(2.0,4.0); System.out.println(Area of taper=+tap.area()+n+volumn of taper=+tap.volume(); (3)设计三角形类,继承图形抽象类,计算三角形面积和周长。public abstract class ClosedFigure protected String shape; protected ClosedFigure(String shape) this.shape = shape;
26、protected ClosedFigure() this(未知); public abstract double area(); public abstract double perimeter(); public void print() System.out.println(一个+this.shape+,+this.toString() +,周长为+this.perimeter()+,面积为+this.area(); public class Triangle extends ClosedFigure protected double a,b,c; public Triangle(dou
27、ble a,double b,double c) super(三角形); this.a=a; this.b=b; this.c=c; public Triangle() this(0,0,0); public String toString() return a边长度+this.a+,b边长度+this.b+,c边长度+this.c; public double area() double d=(a+b+c)/2.0; return Math.sqrt(d*(d-a)*(d-b)*(d-c); public double perimeter() return a+b+c; public sta
28、tic void main(String args) Triangle tri=new Triangle(5,9,11); tri.print(); (4)包的建立与使用import java.util.Scannerpublic class Calculator public static void main(String args) System.out.println(根据提示输入指令!); while(true) System.out.println(是否继续Y/N?); Scanner sc=new Scanner(System.in); String isC=sc.nextLine
29、().trim(); if(y.equals(isC) | Y.equals(isC) System.out.println(输入第一个数:); int a=sc.nextInt(); System.out.println(输入计算符号:+ - * /); String var=sc.next().trim(); System.out.println(输入第二个数:); int b=sc.nextInt(); if(+.equals(var) System.out.println(a+b+=+(a+b); else if(-.equals(var) System.out.println(a+-+b+=+(a-b);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1