当前位置:文档之家› 《Java程序设计》课程实验指导书(2013)

《Java程序设计》课程实验指导书(2013)

《Java语言基础》课程实验指导书合肥学院计算机科学与技术系实验一 Java开发环境的配置一、实验目的:1.熟悉JDK的安装和环境变量path,classpath的配置;2.熟悉Editplus(UltraEdi或TextPad)编辑工具;3.认识Application和Applet程序结构;二、实验内容:1.JDK的安装和配置环境变量path,classpath;2.熟悉安装使用Editplus(UltraEdi或TextPad)编辑工具3.安装和使用Java集成开发工具(如MyEclipse)*;4.编译调试Application和Applet程序;三、实验要求:1.程序能输出一条简单的问候信息;2.实验报告中对程序结构做出详细的解释;3.实验报告中给出配置JDK的步骤;4.写出实验报告中要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法;四、实验步骤:1.从上下载最新版本的JDK,并安装;2.设置环境变量path ,classpath, 使得Java程序能正确编译和执行;3.在Editplus(或UltraEdit)环境下编写一个Application程序;(1)在主方法static public void main(String[] args)中调用System.out.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基本语法,基本数据类型,各种运算符及表达式的使用;2.掌握运算符优先级,熟悉使用Java的选择语句,循环语句;二、实验内容:1.编写Java Application程序,输出1900年到2000年之间的所有润年。

(闰年的判断条件:能被4整除且不能被100整除,或能被400整除);2.编写Java Appet 程序打印“水仙花” 数 (它的个、十、百位数字的立方的和等于该数本身,如:153=1^3+5^3+3^3);3. 编写Java Application程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!...的前20项和;三、实验要求:1. 正确使用Java语言的选择语句,循环语句;2. 调试程序、编译,运行后得到正确的结果;3.实验报告要求记录编译和执行Java程序当中的系统错误信息提成示,并给出解决办法并分析原因(附运行界面、源代码);四、实验步骤:1.编写public类;在static public void main(String[ ] args)方法中加入实现要求功能的代码,主要步骤如下:(第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。

(第二题)编写Java Applet, 在public void paint(Graphics g)方法中加入实现要求功能的代码, 主要步骤是:从100到1000循环,判断每个数是否符合水仙花数的特点,是则输出之。

3.编译运行程序,观察输出结果是否正确。

五、课外实验1. 输出100以内的所有素数。

(提示: 逐个判断小于a的每个正整数x,第二重循环针对x,判断其是否是质数)2. 用循环语句打印一个99乘法表。

3.判断回文数(逆序排列后得到的数和原数相同)。

实验三类和对象一、实验目的:1.掌握Java类的结构、类的定义、方法和属性的定义以及对象的实现;2.掌握类及其成员修饰符的使用;掌握构造函数的使用;方法的参数传递和返回值的用法;3.掌握类变量与实例变量,以及类方法与实例方法的区别;二、实验内容:1.定义一个学生类(Student),属性有private的名字(name), public的年龄(age),专业(specialty)和封装name属性的方法:setName(),getName(),getspecialty()编写Application,创建一个学生对象,设置name和age属性值,然后调用一个方法(此方法将对象作为参数传递,在方法中打印出学生的名字name和年龄age)。

(学生类仅包含静态成员变量和方法。

)2.定义一个类MyPoint,代表一个点,public属性有x和y,方法有显示点坐标show(),构造函数有两个参数分别给x,y赋值,在main方法中构造两个对象,再创建一方法(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) 求复数的差的方法:(参数是两个复数类对象,返回值是复数类对象)4)求复数的乘积的方法:(参数是两个复数类对象,返回值是复数类对象)5)比较两个复数是否相等的方法(参数是两个复数类对象,返回值是boolean类型)三、实验要求:1. 正确地定义类、方法和属性;2. 学会方法的参数传递和返回值的用法;3. 熟练使用类及其成员修饰符;4. 使用构造函数创建类的对象;5.类变量与实例变量,以及类方法与实例方法的使用;6.程序应包括各个被调用方法的执行结果的显示;7. 实验报告要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法并分析原因。

(附运行界面、源代码);四、实验步骤:1.(第1题)定义一个学生类(Student)及它的属性和方法;定义主类和main(),在main()方法中创建学生对象,并通过对象调用它的方法setName(),getName(),输出学生的名字name和年龄age;2. (第2题) 定义类Point及它的属性、方法和构造函数,定义主类和main(),在main()方法中创建两个坐标对象,,并通过对象调用getMiddle 方法后得到一个新的点坐标,调用show()显示该对象的坐标值。

3. (第3题)定义一个复数(z=x+yi)类Complex,及它的属性、方法和构造函数;定义主类和main()方法,在main()方法中创建两个复数类Complex 对象,并通过复数类对象调用它们的属性和方法,输出方法执行结果;五、课外实验1.构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。

2.编写实现:有一个三角形类Triangle,成员变量有底边x和另一条边y,和两边的夹角a(0<a<180),a为静态成员,成员方法有两个:求面积s(无参数)和修改角度(参数为角度)。

3.编写实现: 构造函数为 Triangle(int xx,int yy,int aa) 参数分别为x,y,a赋值在main方法中构造两个对象,求出其面积,然后使用修改角度的方法,修改两边的夹角,再求出面积值。

(提示:求高的方法h=y*Math.sin(a) )注意:构造方法用于对成员变量初始化,无参数的构造方法将成员变量初始化为0值。

实验四java继承与多态一、实验目的:1.掌握继承、多态的概念与实现方法;2.掌握包和接口的定义和使用方法;二、实验内容:1.分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:1) Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化。

2)Point2D有一个void型成员方法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中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point2D的对象p3d1,p3d2,打印出他们之间的距离。

2.1)定义抽象类Shape,抽象方法为showArea(),求出面积并显示,定义矩形类Rectangle,正方形类Square,圆类 Circle,根据各自的属性,用showArea方法求出各自的面积,在main方法中构造3个对象,调用showArea方法。

2)定义接口DiagArea,其中包含方法double getDiagonal()求对角线长,double getArea()求面积,定义一个矩形类,实现此接口,并自行扩充成员变量和方法;3)定义一个正方形类继承矩形类(如矩形有长w和宽h,正方形有边x,并有相应的构造函数,有一个方法中一次直接显示边长、面积和对角线长),在另一类中的主方法里使用测试该类。

三、实验要求:1. 能实现类的继承关系;2. 用多种方法创建各个类的对象;3. 程序应包括各个被调用方法的执行结果的显示。

4. 写出实验报告。

要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。

(附运行界面、源代码)。

四、实验步骤:1.(第1题)定义Point2D,及定义它的属性和方法;定义子类Point3D,及定义它的属性和方法;在Point3D中的主函数main()中实例化两个Point2D的对象,并通过这两个对象调用它们的属性和方法,输出方法执行结果。

2.(第2题)定义抽象类Shape,抽象方法为showArea(),再定义矩形类Rectangle,正方形类Square,圆类 Circle,和各自的属性。

相关主题