JAVA实验报告.doc

上传人:一*** 文档编号:2756086 上传时间:2020-05-03 格式:DOC 页数:48 大小:548KB
返回 下载 相关 举报
JAVA实验报告.doc_第1页
第1页 / 共48页
JAVA实验报告.doc_第2页
第2页 / 共48页
点击查看更多>>
资源描述

《JAVA实验报告.doc》由会员分享,可在线阅读,更多相关《JAVA实验报告.doc(48页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、.*学 生 实 验 报 告 册(理工类)课程名称:面向对象程序设计 专业班级:16计算机科学与技术(专转本) 学生学号: 1613203022 学生姓名: 张义丹 所属院部: 计算机工程 指导教师: 刘 晶 20 16 20 17 学年 第 2 学期金陵科技学院教务处制实验报告书写要求实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。实验报告书写说明实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。填写注意事项(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。(3)尽量采用专用术

2、语来说明事物。(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按金陵科技学院课堂教学实施细则中作业批阅成绩评定要求执行。.*实验项目名称:Java编程基础 实验学时: 6 同组学生姓名: 实验地点: 工科楼A101 实验日期: 17.3.2117.4.4 实验成绩: 批改教师: 刘晶 批改时间: 实验1 Java编程基础一、实验目的和要求(1) 熟练掌握JDK1.6及Eclipse4.2编写调试Java应用

3、程序及Java小程序的方法;(2) 熟练掌握Java应用程序的结构;(3) 了解Java语言的特点,基本语句、运算符及表达式的使用方法;(4) 熟练掌握常见数据类型的使用;(5) 熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法;(6) 熟练掌握数组和字符串的使用;(7) 调试程序要记录调试过程中出现的问题及解决办法;(8) 编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9) 做完实验后给出本实验的实验报告。二、实验仪器和设备奔腾以上计算机,Windows 操作系统,装有JDK1.

4、6和Eclipse4.2软件。三、实验过程(1)分别使用JDK命令行和Eclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello world”字符串,并输出,记录操作过程。public class Hello public static void main(String args) System.out.println(Hello!); (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。压缩生成.jar文件。记录操作过程。import java.awt.*;import jav

5、a.applet.Applet;public class HelloApplet extends Applet public void paint(Graphics g) g.setColor(Color.red); g.drawString(Hello!,20,20); (3) 根据变量score中存放的考试分数,输出对应的等级。要求从键盘输入学生成绩,60分以下为D等;6069为C等;7089为B等;90100为A等。(4) 编写一个Java Application程序,输出区间200,300上的所有素数,将其用数组prime保存,并以每10个一行的形式显示运行结果。(5)输出下列数字形式

6、,要求用二维数组完成。n=4 0 0 0 0 0 1 1 1 0 1 2 2 0 1 2 3 n=4 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1(6) 求二维数组的鞍点,即该位置上的元素在该行上最大,在列上最小。也可能无鞍点。(7) 分析下列程序的输出结果,掌握equals()方法和“= =”的区别。class StringTest2public static void main(String args) String s1 = This is the second string.;String s2 = This is the second string.;String

7、s3 = new String(This is the second string.);String s4 = new String(s1);String s5 = s1;boolean result121 = s1.equals(s2);boolean result122 = s1 = s2;boolean result131 = s1.equals(s3);boolean result132 = s1 = s3;boolean result141 = s1.equals(s4);boolean result142 = s1 = s4;boolean result151 = s1.equal

8、s(s5);boolean result152 = s1 = s5;System.out.println(s1 equals s2= +result121); System.out.println(s1 = s2= +result122); System.out.println(s1 equals s3= +result131); System.out.println(s1 = s3= +result132); System.out.println(s1 equals s4= +result141); System.out.println(s1 = s4= +result142); Syste

9、m.out.println(s1 equals s5= +result151); System.out.println(s1 = s5= +result152); (8) 判断回文字符串回文是一种“从前向后读”和“从后向前读”都相同的字符串。如“rotor”是一个回文字符串。 程序中使用了两种算法来判断回文字符串: 算法一:分别从前向后和从后向前依次获得原串str的一个字符ch1、ch2,比较ch1和ch2,如果不相等,则str肯定不是回文串,yes=false,立即退出循环:否则继续比较,直到字符全部比较完,yes的值仍为true,才能肯定str是回文串。 算法二:将原串str反转成temp

10、串,再比较两串,如果相等则是回文字符串。(9) 使用String类的compareTo(String s)方法,对以下字符串从小到大排序:“melon”, “apple”, “pear”, “banana”,显示输出排序结果。要求:(1) 编译调试程序之前应配置好环境变量;(2) 要分别掌握用JDK命令行和Eclipse集成开发环境调试Java程序;(3) 注意Java两大类程序:应用程序和小程序的区别。程序清单:(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)(1)主方法传递参数“Hello world”字符串,并输出public class Hello

11、 public Hello()System.out.println(HelloWorld!);public static void main(String args)new Hello();(2)Eclipse编译Java Appletimport java.awt.*;import java.applet.Applet;public class HelloApplet extends Applet int height,width;public void init()this.height=100;this.width=300;public void paint(Graphics g)g.s

12、etColor(Color.red);g.drawString(Hello!, 20, 20);(3)package b;import java.util.Scanner;public class Test public static void main(String args)int score;/char grade;System.out.println(请输入分数按回车);Scanner reader=new Scanner(System.in);score=reader.nextInt();if(score=90&score=70&score=60&score=69)System.ou

13、t.println(C);else if(score60)System.out.println(D);elseSystem.out.println(数据错误);(4)public class Lim public static void main(String args) int prime = calculation(20, 200, 300);for (int i = 0; i prime.length; i+) if (primei != 0) if (i % 10 = 0 & i != 0)System.out.println();System.out.print(primei + )

14、;/ 打印数据public static int calculation(int length, int start, int end) int j;int step = 0;int prime = new intlength;for (int i = start; i = end; i+)j = 2;while (i % j != 0) j+; if (j = i) primestep = i;step+;return prime;(5) public class shuzu public static void main(String args)int i,j;int arr=new in

15、t4;for(i=0;iarr.length;i+)arri=new intarr.length; for(i=0;i=i;j-)arrij=i; for(j=0;j=j;i-) arrij=j; for(i=0;i=3;i+)for(j=0;j=3;j+)System.out.print(arrij);System.out.print( );System.out.println();public class Shuzu public static void main(String args)int num=new int4;for(int i=0;inum.length;i+)numi=ne

16、w int2*i+1;for(int m=0;mnum.length-i;m+)System.out.print( );int k=i+1;for(int j=0;jnumi.length;j+)if(j=i)numij=j+1;elsek-;numij=k;System.out.print(numij+ );System.out.println(); (6)public class test public static void main(String args) / TODO Auto-generated method stubint mat = 11,12,13,4,5,6,7,8,9;

17、for (int i=0;imat.length;i+) /输出二维数组元素for(int j=0;jmati.length;j+) System.out.print(matij+ ); System.out.println();boolean find = false; /找到鞍点标记int row=0; /第1行下标int max=0; /记录当前行最大值的列下标while (!find & rowmat.length)max=0; /初始设每行第1列值最大for (int j=1;jmatrowmax) /matrowmax为该行最大值max = j;boolean yes = true

18、; /再判断matrowmax是否在列上最小int j=0;while (yes & jmat.length) if(matjmaxmatrowmax) yes=false; j+;if (yes)find = true;elserow+;if (find)System.out.println(The dort: +matrowmax);elseSystem.out.println(The dort: null);(8) import java.util.Scanner;public class HuiWenTest public static void main(String args) /

19、 TODO Auto-generated method stubSystem.out.println(请输入一个字符串); SuppressWarnings(resource)Scanner input = new Scanner(System.in); String str = input.next(); StringBuilder sb=new StringBuilder(str); sb.reverse();/将Sr倒置的方法 String newStr=new String(sb); if(str.equals(newStr) System.out.println(str+是回文字符串

20、); else System.out.println(str+不是回文字符串); (9) import java.util.*;public class SortString public static void main(String args) / TODO Auto-generated method stubString a=melon,apple,pear,banana; String b=Arrays.copyOf(a,a.length); System.out.println(使用用户编写的SortString类,按字典序排列数组a:); SortString.sort(a); S

21、ystem.out.println(排序结果是:); for(String s:a) System.out.print( +s); System.out.println(); System.out.println(使用类库中的Arrays类,按字典序排列数组b:); Arrays.sort(b); System.out.println(排序结果是:); for(String s:b) System.out.print( +s); 四、实验结果与分析(程序运行结果及其分析)(1)(2)(3)(4)(5)(6)(7)(8)(9)五、实验体会(遇到问题及解决办法,编程后的心得体会)在这次实验中,我知

22、道了eclipse和jdk运行程序的区别,jdk比较麻烦一些,需要配置变量。在实验中,配置jdk的环境变量要注意它的path和 classpath,如果classpath本身就有,可以在后面加分号,这样不影响其它的classpath的使用。学会了如何生成注释文档,主函数传递参数的方法,还有压缩文件,实验中还对数组的创建和使用进行了练习,还有一些类的应用。实验项目名称: 面向对象编程 实验学时: 8 同组学生姓名: 实验地点: 工科楼A101 实验日期: 17.4.1117.5.2 实验成绩: 批改教师: 刘晶 批改时间: 实验2 面向对象编程一、实验目的和要求(1)熟练掌握Java语言类定义的

23、基本语法;(2)熟练掌握类成员的访问控制,对象建立的方法;(3)熟练掌握类构造方法、成员方法的定义和重载;(4)熟练掌握类继承、多态和抽象性;(5)熟练掌握接口的定义和实现方法;(6)掌握基本的异常处理方法;(7)调试程序要记录调试过程中出现的问题及解决办法;(8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验;(9) 做完实验后给出本实验的实验报告。二、实验仪器和设备奔腾以上计算机,Windows 操作系统,装有JDK1.6和Eclipse4.2软件。三、实验过程(1)定义一个Man类,保存在Man.java文件中,类中包含说话方法如下: public class

24、Manpublic void say()System.out.println(“我是中国人!”); 为此类打包为cn.edu.jit.chinese;再在Man.java文件所在路径下,创建一个China.java文件,其中定义China类如下: public class Chinapublic static void main(String args)Man lihua = new Man();lihua.say();在China类中引用Man类,输出显示“我是中国人!”。试着去掉Man类的public修饰,看看会发生什么情况?(2)设计复数类,成员变量包括实部和虚部,成员方法包括实现复数加

25、法、减法、字符串描述、比较是否相等等操作。(3)包的建立与使用:设计计算器类Calculator,计算加、减、乘、除和立方体体积,并且打包为mypackage。观察源文件目录下是否生成了mypackage文件夹,在该文件夹中是否有Calculate.class文件。编辑PackageDemo.java,保存在Calculator.java同一目录下,引用计算器类的各方法显示计算结果。(4)试编码实现简单的银行业务:处理简单帐户存取款、查询。编写银行帐户类BankAccount,包含数据成员:余额(balance)、利率(interest);操作方法:查询余额、存款、取款、查询利率、设置利率。再

26、编写主类UseAccount,包含main()方法,创建BankAccount类的对象,并完成相应操作。(5)假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。根据上述要求,请完成以下Java类的设计: 1)设计一个基类Student描述学生的共同特征。2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对

27、象,并输出相关信息。(6)设计三角形类,继承图形抽象类,计算三角形面积和周长。(7)试编码实现多态在工资系统中的应用:给出一个根据雇员类型利用abstract方法和多态性完成工资单计算的程序。Employee是抽象类,Employee的子类有Boss(每星期发给他固定工资,而不计工作时间)、CommissionWorker(除基本工资外还根据销售额发放浮动工资)、PieceWorker(按其生产的产品数发放工资)、HourlyWorker(根据工作时间长短发放工资)。该例的Employee的每个子类都声明为final,因为不需要再继承它们生成子类。在主测试类Test中测试各类雇员工资计算结果。

28、提示:对所有雇员类型都使用earnings()方法,但每个人挣的工资按他所属的雇员类计算,所有雇员类都是从超类Employee派生出的。在超类中声明earnings()为抽象方法,并且对于每个子类都提供恰当的earnings()的实现方法。为了计算雇员的工资,程序仅仅使用雇员对象的一个超类引用并调用earnings()方法。在一个实际的工资系统中,各种Employee对象的引用可以通过一个Employee引用数组来实现。程序依次使用数组的每个元素(Employee引用)调用每个对象的earnings()方法。Employee类定义如下:abstract class Employeeprivat

29、e 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();(8)设计圆柱

30、体类和圆椎体类,继承圆类Circle并实现体积接口Volume,计算表面积和体积。(9)定义一个接口CanFly,描述会飞的方法public void fly();分别定义飞机类和鸟类,实现CanFly接口。定义一个测试类,测试飞机和鸟。测试类中定义一个makeFly(CanFly obj)方法,让会飞的事物飞起来(即调用相应类的fly()方法)。然后在main方法中创建飞机对象和鸟对象,并在main方法中调用makeFly(CanFly obj)方法,让飞机和鸟起飞。(10)异常的捕获:计算两数相除并输出结果。使用三个catch子句,分别捕捉输入输出异常、除数为0的异常和参数输入有误异常。i

31、mport java.io.*;class Ex1 public static void main(String args ) try BufferedReader 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=Int

32、eger .parseInt(cl); int c=b/a; System .out .println(商为:+c); /捕获与I/O有关的异常(空白处补全捕获语句) /捕获数值转化时的异常,如不能将字符转化成数值 /捕获除数为0的异常 编译并运行,当产生输入输出异常时显示异常信息;当输入除数为0时,出现算术异常,提示除数为0,并要求重新输入;当输入的不是整数时,如将30输成了3o,出现数值格式异常,提示输入整数。(11)编写程序包含自定义异常MyException,当100被13和4除时抛出该异常,其余除数显示商值。要求:(1) 注意选用适当的类成员修饰符(private、protected

33、、public等),比较它们的使用情况;(2) 养成良好的编程习惯,严格按照命名规则为包、类及类成员命名,将每个程序打包,包的命名方式如two.num1表示实验二的第一题;(3) 学会使用Eclipse的各种调试方法;(4) 学会查阅Java API文档,如查找异常类的使用方法。程序清单:(建议程序中适当添加注释信息,增强可读性;较长程序可分栏书写,保证报告排版整洁美观。)(1) package cn.edu.jit.chinese;/ 为Man类打包为cn.edu.jit.chinesepublic class Man public void say()System.out.println(

34、我是中国人!);package cn.edu.jit.chinese;import cn.edu.jit.chinese.*; /导入包public class China public static void main(String args)Man lihua = new Man();/主方法先创建类然后调用类lihua.say();(2)public class Complex private double real,image; /定义私有的real,image public Complex(double real,double image) this.real=real; /赋值 t

35、his.image=image;public Complex(double real) this(real,0);public Complex() this(0,0);public Complex(Complex c) this(c.real,c.image);public double getReal() return real;public void setReal(double real) this.real = real;public double getImage() return image;public void setImage(double image) this.image

36、 = image;public Complex add(Complex c1,Complex c2)/写方法 Complex C=new Complex(c1.real+c2.real,c1.image+c2.image); return C;public Complex add(Complex c1) Complex C=new Complex(this.real+c1.real,this.image+c1.image); return C; public Complex jian(Complex c1,Complex c2) Complex C=new Complex(c1.real-c2

37、.real,c1.image-c2.image); return C; public Complex jian(Complex c1)Complex C=new Complex(this.real-c1.real,this.image-c1.image); return C; public boolean bijiao(Complex c1,Complex c2) return (c1.real=c2.real&c1.image=c2.image); public boolean bijiao(Complex c1) return (c1.real=this.real&c1.image=thi

38、s.image); public String toString() return this.real+this.image+i;public class ComplexText public static void main(String args) Complex c1=new Complex(2,5); /创建类,调用类里面的方法 Complex c2=new Complex(5,2); Complex c3=new Complex(); System.out.println(c3.add(c1,c2); System.out.println(c3.jian(c1,c2); System

39、.out.println(c3.bijiao(c1,c2);(3)public class Calculate double i,j, t;public Calculate(int i,int j) this.i=i; this.j=j;public Calculate(int i,int j,int t) this.i=i; this.j=j;this.t=t;public double add() return i+j;public double jian() return i-j; public double cheng() return i*j;public double chu()

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com