《Java程序设计》课程实验指导书.docx





《《Java程序设计》课程实验指导书.docx》由会员分享,可在线阅读,更多相关《《Java程序设计》课程实验指导书.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java 语言根底课程试验指导书合肥学院计算机科学与技术系2试验一 Java 开发环境的配置一、试验目的:1.生疏 JDK 的安装和环境变量 path,classpath 的配置; 2.生疏 EditplusUltraEdi 或 TextPad编辑工具; 3.生疏 Application 和 Applet 程序构造;二、试验内容:1JDK 的安装和配置环境变量path,classpath; 2生疏安装使用 EditplusUltraEdi 或 TextPad编辑工具3安装和使用 Java 集成开发工具如 MyEclipse*; 4编译调试 Application 和 Applet 程序;三、试
2、验要求:1. 程序能输出一条简洁的问候信息;2. 试验报告中对程序构造做出具体的解释;3. 试验报告中给出配置 JDK 的步骤;4. 写出试验报告中要求记录编译和执行 Java 程序当中的系统错误信息提示,并给出解决方法;四、试验步骤:1. 从 :/java.sun 上下载最版本的 JDK,并安装; 2设置环境变量 path ,classpath, 使得 Java 程序能正确编译和执行; 3在 Editplus或 UltraEdit环境下编写一个 Application 程序;(1) 在主方法 static public void main(String args)中调用 System. ou
3、t.println方法,使程序输出一条问候信息;(2) 编译运行程序,观看运行状况和输出结果。使用 JDK 环境,调用javac.exe 和 java.exe 编译和执行程序4. 在 Editplus或 UltraEdit环境下编写一个 Applet 程序;(1) 在 public void paint(Graphics g)方法中调用 g.drawString方法, 使程序输出一条问候信息;(2) 编译运行程序,观看运行状况和输出结果。使用 JDK 环境,调用javac.exe 编译和扫瞄器解释执行 Applet 程序试验二 Java 语言根底一、试验目的:1. 生疏 Java 根本语法,根
4、本数据类型,各种运算符及表达式的使用;2. 把握运算符优先级,生疏使用 Java 的选择语句,循环语句;二、 试验内容:1.编写 Java Application 程序,输出 1900 年到 2023 年之间的全部润年。闰年的推断条件:能被 4 整除且不能被 100 整除,或能被 400 整除; 2.编写 Java Appet 程序打印 “水仙花” 数 (它的个、十、百位数字的立方的和等于该数本身,如:153=13+53+33) ;3. 编写 Java Application 程序,分别用 do-while 和 for 循环计算1+1/2!+1/3!+1/4!.的前 20 项和; 三、试验要求
5、:1. 正确使用 Java 语言的选择语句,循环语句;2. 调试程序、编译,运行后得到正确的结果;3. 试验报告要求记录编译和执行 Java 程序当中的系统错误信息提成示,并给出解决方法并分析缘由附运行界面、源代码;四、试验步骤:1.编写 public 类;在 static public void main(String args)方法中参与实现要求功能的代码,主要步骤如下:第一题从 1900 到 2023 循环,依据闰年的推断条件是则输出 1900 年到2023 年之间的全部润年。其次题编写 Java Applet, 在 public void paint(Graphics g)方法中参与实
6、现要求功能的代码, 主要步骤是:从 100 到 1000 循环,推断每个数是否符合水仙花数的特点,是则输出之。3.编译运行程序,观看输出结果是否正确。五、课外试验1. 输出 100 以内的全部素数。提示: 逐个推断小于 a 的每个正整数 x,其次重循环针对 x,推断其是否是质数2. 用循环语句打印一个乘法表。3. 推断回文数逆序排列后得到的数和原数一样。试验三 类和对象一、试验目的:1. 把握 Java 类的构造、类的定义、方法和属性的定义以及对象的实现;2. 把握类及其成员修饰符的使用;把握构造函数的使用;方法的参数传递和返回值的用法; 3把握类变量与实例变量,以及类方法与实例方法的区分;二
7、、试验内容:1定义一个学生类(Student),属性有 private 的名字(name), public 的年龄(age),专业(specialty)和封装 name 属性的方法:setName,getName, getspecialty编写 Application,创立一个学生对象,设置name 和 age 属性值,然后调用一个方法此方法将对象作为参数传递,在方法中打印出学生的名字 name 和年龄 age。学生类仅包含静态成员变量和方法。 2定义一个类 MyPoint,代表一个点,public 属性有 x 和 y,方法有显示点坐标 show,构造函数有两个参数分别给 x,y 赋值,在 m
8、ain 方法中构造两个对象,再创立一方法(getMiddle)为取两个点构成线段的中点的坐标, 参数为 2 个点对象,调用此方法后得到一个的点,编写 Application,显示该对象的坐标值。3定义一个复数(z=x+iy)类 Complex,包含: 两个属性:实部 x 和虚部 y 默认构造函数 Complex,设置 x=0,y=0; 构造函数:Complex(int i,int j) 1求显示复数的方法:showComp将其显示为如: 5+8i 或 5-8i 的形式。2求复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)3) 求复数的差的方法:(参数是两个复数类对象,返回值是复数类
9、对象 4)求复数的乘积的方法:(参数是两个复数类对象,返回值是复数类对象 5) 比较两个复数是否相等的方法参数是两个复数类对象,返回值是boolean 类型 三、试验要求:1. 正确地定义类、方法和属性;2. 学会方法的参数传递和返回值的用法;3. 娴熟使用类及其成员修饰符;4. 使用构造函数创立类的对象;5. 类变量与实例变量,以及类方法与实例方法的使用;6. 程序应包括各个被调用方法的执行结果的显示;7. 试验报告要求记录编译和执行 Java 程序当中的系统错误信息提示,并给出解决方法并分析缘由。附运行界面、源代码;四、试验步骤:1(第 1 题)定义一个学生类 (Student)及它的属性
10、和方法;定义主类和main, 在 main 方法中 创立学生对象, 并通过对 象调用它的方 法setName,getName,输出学生的名字 name 和年龄 age;2. (第 2 题) 定义类 Point 及它的属性、方法和构造函数,定义主类和main,在 main方法中创立两个坐标对象,,并通过对象调用 getMiddle 方法后得到一个的点坐标,调用 show显示该对象的坐标值。3. (第 3 题)定义一个复数(z=x+yi)类 Complex,及它的属性、方法和构造函数;定义主类和 main方法,在 main方法中创立两个复数类 Complex 对象,并通过复数类对象调用它们的属性和
11、方法,输出方法执行结果;五、课外试验1. 构造一个类来描述屏幕上的一个点,该类的构成包括点的 x 和 y 两个坐标, 以及一些对点进展的操作,包括:取得点的坐标值,对点的坐标进展赋值, 编写应用程序生成该类的对象并对其进展操作。2. 编写实现:有一个三角形类 Triangle,成员变量有底边 x 和另一条边 y,和两边的夹角 a0a180,a 为静态成员,成员方法有两个:求面积s无参数和修改角度参数为角度。3. 编写实现 : 构造函数为 Triangle(int xx,int yy,int aa) 参数分别为x,y,a 赋值 在 main 方法中构造两个对象,求出其面积,然后使用修改角度的方法
12、, 修改两边的夹角, 再求出面积值。 提示: 求高的方法h=y*Math.sin(a) )留意:构造方法用于对成员变量初始化,无参数的构造方法将成员变量初始化为 0 值。试验四 java 继承与多态一、试验目的:1. 把握继承、多态的概念与实现方法;2. 把握包和接口的定义和使用方法; 二、试验内容:1. 分别编写两个类 Point2D,Point3D 来表示二维空间和三维空间的点,使之满足以下要求:1) Point2D 有两个整型成员变量 x, y (分别为二维空间的 X,Y 方向坐标),Point2D 的构造方法要实现对其成员变量x, y 的初始化。2) Point2D 有一个 void
13、型成员方法 offset(int a, int b),它可以实现 Point2D的平移。3) Point3D 是 Point2D 的直接子类,它有有三个整型成员变量 x,y,z (分别为三维空间的 X,Y,Z 方向坐标),Point3D 有两个构造方法:Point3D(int x,int y,int z)和 Point3D(Point2D p,int z),两者均可实现对Point3D 的成员变量x, y,z 的初始化。4) Point3D 有一个 void 型成员方法 offset(int a, int b,int c) ,该方法可以实现Point3D 的平移。5) 在 Point3D 中的
14、主函数 main中实例化两个 Point2D 的对象 p2d1,p2d2, 打印出它们之间的距离,再实例化两个 Point2D 的对象 p3d1,p3d2,打印出他们之间的距离。21)定义抽象类 Shape,抽象方法为showArea,求出面积并显示,定义矩形类 Rectangle,正方形类 Square,圆类 Circle,依据各自的属性,用showArea 方法求出各自的面积,在 main 方法中构造 3 个对象,调用showArea 方法。2) 定义接口 DiagArea,其中包含方法 double getDiagonal求对角线长, double getArea求面积,定义一个矩形类,
15、实现此接口,并自行扩大成员变量和方法;3) 定义一个正方形类继承矩形类如矩形有长 w 和宽 h,正方形有边 x,并有相应的构造函数,有一个方法中一次直接显示边长、面积和对角线长, 在另一类中的主方法里使用测试该类。三、试验要求:1. 能实现类的继承关系;2. 用多种方法创立各个类的对象;3. 程序应包括各个被调用方法的执行结果的显示。4. 写出试验报告。要求记录编译和执行 Java 程序当中的系统错误信息提示, 并给出解决方法。附运行界面、源代码。四、试验步骤:1(第 1 题)定义 Point2D,及定义它的属性和方法;定义子类 Point3D,及定义它的属性和方法;在 Point3D 中的主
16、函数main 中实例化两个Point2D 的对象,并通过这两个对象调用它们的属性和方法, 输出方法执行结果。2(第 2 题)定义抽象类 Shape,抽象方法为 showArea,再定义矩形类Rectangle,正方形类 Square,圆类 Circle,和各自的属性。定义主类、主方法,在 main 方法中构造 3 个对象,调用 showArea 方法;定义接口DiagArea,其中包含方法 double getDiagonal,在主 main 方法中输出方法执行结果。五、课外试验1. 定义一个描述人的根本类,该类包括人的性别和诞生日期两个数据成员,以及设置和猎取这些属性值的方法成员;再定义一个
17、大学生类,使大学生类具有人的全部属性外,还具有姓名、学号,大学入学成绩,籍贯属性以及设置和猎取这些属性值的方法成员;编写完整的程序,完成一个具有班级学生信息治理功能的程序。2. 创立一个接口 Shape,其中有抽象方法 area,类 Circle 、Rectangle 实现area 方法计算其面积并返回。又有 Star 实现 Shape 的 area 方法,其返回值是 0,Star 类另有一返回值 boolean 型方法 isStar;在 main 方法里创立一个 Vector,依据随机数的不同向其中参与Shape 的不同子类对象如是1,生成 Circle 对象;如是 2,生成 Rectang
18、le 对象;如是 3,生成 Star 对象。然后将 Vector 中元素依次取出,推断其是否为Star 类。如是返回其是个 Star。否则返回其面积。3.学校中有教师和学生两类人,而在职争论生既是教师又是学生,对学生的治理和对教师的治理在他们身上都有表达。1) 设计两个信息治理接口StudentManageInterface 和TeacherManageInterface。其中,StudentInterface 接口包括 setFee方法和 getFee方法,分别用于设置和猎取学生的学费;TeacherInterface 接口包括 setPay方法和 getPay 方法,分别用于设置和猎取教师
19、的工资。2) 定义一个争论生类Graduate,实现 StudentInterface 接口和TeacherInterface接口,它定义的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资)。3) 创立一个姓名为“zhangsan”的争论生,统计他的年收入和学费,假设收入减去学费缺乏 2023 元,则输出“provide a loan”(需要贷款)信息。提示:1) 定义两个接口,分别在其中申明两个方法。2)定义主类 Graduate,实现这两个接口。3) 定义主类的成员变量,和构造方法。4) 给出四个接口方法的实现。5) 给出一个计算是否需要贷款
20、的方法,在里面统计年收入和学费,并输出是否需要贷款的信息。6) 写 main 方法。在其中创立一个姓名为“zhangsan”的争论生,调用计算是否需要贷款的方法。4书后练习试验五Java 数组、字符串及常用类应用一、试验目的:1. 把握数组的定义和使用方法;生疏数组的排序、查找等算法;2. 把握字符串的使用方法; 二、试验内容:1. 编写 Application 程序, 从命令行参数输入 10 个整数并保存在数组中,求数组中最大、最小、数据的和、平均值。2. 从命令行参数一日期,如“2023-5-6”,计算与今日之间的天数间隔。3. 将命令行第一个参数每个字符放入一字符数组,然后逆序输出4.
21、编写 Application 程序,承受用户输入一段英文文字后,输出其中的字符数、单词数和句子数设句子以“?”、“!”、“.”完毕。5. 打印杨辉三角的前 10 层。6. 编写 Applet 程序,使用 *画一条正弦曲线(提示:y=a* sin(x),坐标要取整)三、试验要求:1. 娴熟对象数组及创立初始化和未初始化的数组的方法;2. 生疏从命令行参数的使用;3. 生疏 String 和 StringBUFFER 的使用方法4. 生疏常用类库的使用;5. 写出试验报告。要求记录编译和执行Java 程序当中的系统错误信息提示,并给出解决方法。附运行界面、源代码。四、试验步骤:1(第 1 题).从
22、命令行输入 10 个数到数组,用循环语句分别求最大、最小、数据的和、平均值。2. (第 2 题)利用 String 类的各种方法,分别推断字符是否为“?”、“!”、“.”,用 3个计数器分别计数。3(第 3 题)将命令行第一个参数字符串中的每个字符作为数组元素放入一字符数组, 再循环语句逆序数组元素。4(第 4 题)定义一个二维数组,第一维的长度为所打印杨辉三角的层数即 10,其次维为每一层的数据个数也就是其所在的层数。5 (第 5 题) 利用 Math 类中 sin 函数,在 Paint方法中用 Graphics 类 drawString画10一条正弦曲线. 五、课外试验1. 求Fibona
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序设计 Java 程序设计 课程 实验 指导书

限制150内