西工大JavaUML实验报告二
下载后可任意编辑 西工大计算机学院高级语言程序设计 实 验 报 告 课程名称 Java语言与面对对象程序设计 实验课次 Java第1次 实验项目 实验二 面对对象的编程技术 实验时间 指导老师评议 成绩评定:(满分为2分) 指导老师评语: 指导老师签名: 实验内容(要求、算法、步骤和方法) 请参见 实验说明书 实 验 结 果 具体代码请参见附件中电子版的java源程序。源程序的简要说明如下: ------------------------------------------------------------ Java实验: 实验一:熟悉Java 程序的开发 Myclass.java 说明:要求:编写并运行第一个Java Application程序,利用JDK软件包中的工具编译运行这个程序,在屏幕上输出“the sum is 7” 实验结果: MyFirstJavaApplet.java 说明:要求:编写并编译第一个Java Applet程序,使之能够在浏览器中显示 “Hello world”,并写出配合Applet的HTML文件。 结果如图: 实验二:面对对象的编程技术 TestCCircle.java 说明:要求:定义一个类-圆,并编一个主类测试它,创建类-圆的一个实例,并输出该圆的半径。 结果如图: TestCCircle.java 说明:扩展圆的定义,为其增加可以求圆面积的方法,并在主类中输出一个实例化的圆的面积。 结果如图: 思考问题: 答: 1)可以将类-圆的定义和主类的源代码放在两个文件中,只需要将两个Java文件命名为两个类的名称即可。 2)修改程序,使圆的属性pi定义为最终变量,其值为3.14159,运行程序失败,修改后的源代码见源文件。 3)、4)修改代码见源码,测试结果如图: Book.java 说明:要求: (1)编写Book.java,定义一个类Book,具有以下属性和方法: 属性:书名(Title);出版日期(Pdate);字数(Words)。 方法:计算单价price():单价=字数/1000*35*日期系数 上半年的日期系数=1.2;下半年的日期系数=1.18 (2) 编写主类TestClass,在主类中实例化类Book,并输出实例化对象的属性。 运行结果如图: 实验三 类的方法 Sort.java 说明:比较两个数的大小并按升序输出。 结果如图: NumTest.java 说明:编写程序,输出1到1000之间,所有可以被3整除又可以被7整除的数。 结果如图: ArrSort.java 说明:创建一个具有5个值的数组,并找出最大值和最小值。 结果如图: SortAndFind.java 说明: (1) 将上面的数组进行排序,数组的第一个元素为最小值,最后一个元素为最大值。 (2) 能根据给定的数组值,找出该数组值在数组中的下标。 结果如图: Grades.java 说明: 编写一个换算GPA的Application程序,对于学生学习的每门课程,都输入两个整数:考试成绩和学分,考试成绩按如下公式换算: 85~100:4 75~84: 3 60~74: 2 45~59: 1 44以下:0 GPA等于换算后每门课的成绩的学分加权平均值(∑(成绩×学分)/∑学分)。 学生信息参考下表 姓名 课程名 学分 成绩 张一 数学 4 71.5 张二 英语 3.5 80.4 张三 数据结构 3 95.5 李一 数学 4 78.5 李二 数据结构 3 54.5 李三 数据库 3 60.5 赵一 数学 4 88.5 赵二 英语 3.5 92.5 赵三 数据结构 3 71.5 结果如图: 实验四 类的重用 StringExample.java 说明: 编写一个Java应用程序,推断两个字符是否相同,推断字符串的前缀,后缀是否和某个字符串相同,按字典顺序比较两个字符串的大小关系,检索字符串,创建子字符串,将数字型字符串转换为数字,将字符串放到数组中,用字符数组创建字符串。 结果如图: Example.java 说明: 编写一个Java应用程序,除了主类外,该程序中还有4个类:People、ChinaPeople、AmericanPeople和BeijingPeople类。要求如下: l People类有访问权限是protected的double型成员变量:height和weight,以及public void speakHello()、public void averageHeight()和public void averageWeight()方法 l ChinaPeople类是People的子类,新增了public void chinaGongfu()方法。要求ChinaPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法 l AmericanPeople类是People的子类,新增public void americanBoxing()方法,要求AmericanPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法 l BeijingPeople类是ChinaPeople的子类,新增public void beijingOpera()方法,要求BeijingPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法 结果如图: ------------------------------------------------------------ 实 验 心 得 体 会 1. 实验中遇到的问题以及解决方法 1)在第一次实验时,由于对JAVA还很陌生,所以在实验过程中不知如何下手,经过请教同学,询问助教,终于明白了各种操作的意义。 2)之后的几次实验中要用到一些包,但是自己井不明白各个包内的函数实现的功能,通过查找资料和询问同学,终于基本学会使用了。 3)学习有时会遇到不明白的地方,通过网上查询获得了更清楚详细的解释,更加深了自己对知识的理解。 2. 实验体会 在这一系列的实验中,我基本掌握了Java的编程规则、知识要点和一些小技巧,特别是对而向对象的编程思想和风格有了进一步的认识和体会。同时,因正确的编出程序而带来的成就感让我对编程更加感兴趣。在这些实验过程中,请教老师