Java实验题目

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java实验题目
(1) .编写Java应用程序,定义byte、short、int、Iong、float、double、char和boolean等类型的数据并用一个输出语句输出,要求每行输出一个数据。

(2) .编写Java小应用程序,输出两行字符串:“ Jav很有趣。

”和努力学习
Java编程。

”,输出的起点坐标是(20, 20),行距是50像素。

(3) .使用算术运算符得到一个4 位十进制数的各位数字并输出,然后输出该数的逆序数和各位数字平方后相加的和。

(4) .编写Java 小应用程序,用三目条件运算符求程序中给定的4个double 数的最大值和最小值并输出结果。

实验报告题:使用算术运算符得到一个 4 位十进制数的各位数字并输出,
然后输出该数的逆序数和各位数字平方后相加的和。

1、数据类型与表达式的使用
自己编写程序测试各种运算符的使用。

例如,以下程序是测试Java的数据类型:public class UseVarible {
public static void main(String args [])
boolean b = true;
short si = 128;
int i = -99;
long l = 123456789L;
char ch = 'J';
float f = 3.1415925F;
double d = -1.04E-5;
String s = "你好!";
System.out.println("布尔型变量b="+ b);
System.out.println(” 短整型变量si="+ si);
System.out.println("整型变量i="+ i);
System.out.println("长整型变量匸"+ l);
System.out.println("字符型变量ch="+ ch);
System.out.printin("浮点型变量f="+ f);
System.out.println("双精度型变量d="+ d);
System.out.println("字符型对象s="+ s);
2、数组的创建与使用
编写并运行P.23例1-5,例1-6。

3、思考与上机练习
(1) .编写Java应用程序,其中定义一个int数组(数组元素任意指定),将数组
1 元素由小到大排序、求数组元素的和、数组元素的最大值和最小值并输出所求的结果。

(2) .计算两个矩阵的和、差、乘积并输出。

4、实验报告内容
编写Java应用程序,其中定义一个int数组(数组元素任意指定),将数组元素由小到大排序、求数组元素的最大值并输出所求的结果。

(1) 定义一个圆类Circle,该圆类的数据成员包括:圆心点位置及圆的半径;方法成员有:设置圆心位置和半径的方法,获取圆心位置和半径的方法,无参的构造方法初始化圆心位置为(0,0),半径为1。

另外定义一个构造方法可以接收圆心位置与半径的参数。

编写测试类创建Circle类的对象,并且分别调用各种方法,对比这些方法的执行结果。

(2) 定义一个矩形类MyRectangle,类中有4个私有的整型变量,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义没有参数的构造方法和有 4 个int 参数的构造方法,用来初始化类对象。

类中还有以下方法:getW( )——计算矩形的宽度;getH( )——计算矩形的高度;area( )——计算矩形的面积;toString()――把矩形的宽、高和面积等信息作为为字符串返回。

编写应用程序创建MyRectangle类的对象并输出矩形对象的信息。

(3) 设计一个长方体类MyCube,该类包含第2题中的MyRectangle类对象作为类的成员变量,表示长方体的底面;此外还包含一个整型变量d表示长方体
的高。

类中定义构造方法初始化类对象、定义求体积和表面积的方法。

编写应用程序测试MyCube类。

(4)对于第2、3题的类分别用类的访问修饰符Public与无修饰符定义,同时把它们声明在同一个包中、不同的包中,分析程序的编译情况,理解类及其成员的访问控制符的作用。

(5) 设计一个表示用户的User类,类中的变量有用户名、口令(私有的)和记录用户个数的变量(静态的),定义类的3个构造方法(没有参数、有一个参数给用户名赋值、有两个参数给用户名和口令赋值)、获取和设置口令的方法、返回字符串表示的类信息(包括用户名、口令)的方法。

编写应用程序测试User类。

(6)应用程序中定义方法头如下所示的方法:
static int[] add(int[] x, int[] y)
static int[] multi(int[] x, int[] y)
add方法的功能是:把参数数组x和y (其元素个数相同)的每个元素相加,并作为返回数组的元素;multi方法的功能是:把参数数组x和y (其元素个数相同)的每个元素相乘,并作为返回数组的元素。

在Java应用程序中使用这两个方法。

实验报告内容:
设计一个表示用户的User类,类中的变量有用户名、口令(私有的)和记录用户个数的变量(静态的),定义类的3个构造方法(没有参数、有一个参数给用
2 户名赋值、有两个参数给用户名和口令赋值)、获取和设置口令的方法、返回字符串表示的类信息(包括用户名、口令)的方法。

编写应用程序测试User 类。

四、
2.1 方法的流程控制
(1)编写Java应用程序,求1!+2!+…+20的和并显示,要求用方法实现求阶乘。

(2)编写Java应用程序,从键盘输入一个整数,将其转换为的二进制、十六进制并把相应的表示输出到屏幕上。

⑶编写Java应用程序,分别利用while循环、do…while循环和for循环求
100~200的自然数的和。

(4)重载3个不同版本的max方法和min方法,这些方法均有4个参数,分别用来求4个int、4个Iong、4个float数的最大值和最小值。

编写Java应用程序,使用这些方法。

(5) 编写应用程序,在 main 方法在中定义字符串“1.235678e2 ”“ 87.8和” “128”将他们分别转化为对应的double 数、float 数和int 数并输出,最后输出 这三个数的和(要求结果保留到小数点后两位)。

(6)编写Java 应用程序,程序运行后,根据屏幕提示输入一个数字字符串, 回车后统计有多少个偶数数字和奇数数字。

(7) 编写Java 应用程序,从命令行传入多个字符串到程序中,并将他们分行 输出在屏幕上。

(10)编写Java 小应用程
序, 法的功能是求2的n 次方。

程序中调用该方法,输出 2的40次方的结果并输 出。

(11)一个三位数abc ,满足数字算式:abc*abc=***abc ,其中*代表数字,使 用一层循环,求满足条件的三位数。

(12)编写应用程序,定义一个 5行3列的二维数组,给数组的每个元素赋 10~100之间的随机值,显示二维数组每行的元素,并输出所有元素的和。

2.2 异常处理
(1) 编写应用程序,使之运行后产生 Arrayl ndexOutOfBou ndsExce ptio n 异常。

(2) 编写应用程序,使之运行后产生 NullPointerException 异常。

(3)
自定义异常类 MyException ,该类继承自Exception 类,类中只有含一个 字符串参数msg 的构造方法,构造方法中只有一条语句 super(msg) ----- 调用父类 的构造方法。

另外,编写自定义类 MyAdd ,类中只有一个私有的整型变量 x ; 有两个公有方法void add(int x)和int getX(),其中add(int x)的功能是把参数x 的 值加到类中的变量x 中(但要求x 的值在0-100之间,否则抛出自定义异常 MyException
(8)编写Java 应用程序,求 50 的阶乘(要求输出结果的每一位)。

(9)编写Java 应用程序,把 屏幕上。

100~1000的自然数中能够被 3 整除的数输出到 程序中自定义一个方法: double find2(int n),方
类的对象),getX()方法返回x的值。

编写应用程序
TestMyException.java,在其main 方法中创建 MyAdd 类对象,并调用 MyAdd 类 的set 方法共3次,分别设置x 的值为88、66、128,每次都输出类中变量x 的 值,编译、运行程序TestMyException.java,观察程序的输出结果。

3.思考题
3(1)什么是异常?解释抛出、捕获的含义。

⑵简述Java 的异常处理机制。

(3) 用户程序如何自定义异常?
(4) 系统定义的异常与用户自定义的异常有何不同?如何使用这两类异常? 实验报告内容:编写Java 应用程序,从键盘输入一个整数,将其转换为的二进 制、十六进制并把相应的表示输出到屏幕上。

五、
2.1 类的继承
1.定义一个抽象基类Shape,它包含一个属性Color 、一个非抽象方法
getColor(), — 个抽象方法 getArea(),从 Shape 类派生出 Rectangle 和 Circle 类,这两个类都用 getArea( )方法计算对象的面积。

编写应用程序使用
Rectangle
类和Circle 类。

2.设计并实现一个 MyGraphic 类及其子类 MyRectangle :
(1) MyGraphic 类包括两个属性:线条的颜色linColor 与填充颜色fillColor , 方法包括:构造方法初始化属性值、
(2) 矩形类MyRectangle 有
长、
方法,其中在构造方法中调用父类
两个属性,并初始化本类定义的属性。

(3) 定义测试类创建MyGraphic 和MyRectangle 的对象,调用相应方法输出 颜色,对于矩形对象还要求周长、面积最后输出。

print 方法输出属性值。

宽两个属性与构造方法、计算周长、面积的 MyGraphic 的构造方法初始化父类继承来的
3.定义一个类Person,并由该类做基类派生出一个子类Employee。

其中:(1)Person类具有name、age两个保护成员变量,分别为String类型、整型。

该类的构造方法用于对成员变量进行初始化,要求定义一个无参构造方法
与一个有两个参数的构造方法,在无参构造方法中调用有参构造方法。

(2) Employee类具有保护成员变量empno,类型为整型。

该类也定义一个无参构造方法与一个有参构造方法对成员变量进行初始化,在这两个构造方法中分别调用父类的无参与有参构造方法。

(3) 编写测试类对Person 类与Employee 类进行测试。

4.定义一个学生类Student 及其子类班长类StudentBZ:
(1) Student类中的属性包括:学号、姓名、3门课的成绩、总分、平均分; 方法包括:
1) 一个无参构造方法与一个带4 个参数的构造方法;
2) 成员变量相应的get/set 方法用于获取与设置成员变量值;
3) 实例方法input( )用于输入学号、姓名、3 门课的成绩; total( )用于统计每个学生的总分; average( )方法用于计算平均分( 3 门课总和/3); toString( )方法返回学生的信息。

4)类方法void Max(Student stu[],int n)求出成绩最高者,并输出该生的学号、姓名、3 门课的成绩以及平均分。

⑵子类StudentBZ的属性包括:responsibilities (职责),manageStuds(所
4 管理的学生);重写父类的average( )方法,班长的平均分=3门课总和
/3+5;重写toString( )方法输出班长的信息。

(3) 定义测试类,对包含5个学生对象的数组进行测试,调用input 方法输入
数据后求总分,最后找出最高分者。

定义一个班长对象,将 5 个学生对象作为其管理的学生对象,并输出班长的各项信息。

2.2 类的组合
1. (1)定义一个类Person,具有name、age两个私有成员变量,分别为String类型、整型。

要求定义一个无参构造方法与一个有两个参数的构造方法对成员变量进行初始化;定义各成员变量的get/set 方法,重写toString 方法。

(2) 由Person类派生出一个子类Employee,包括年薪及受雇日期,定义该类的无参与有参构造方法,在这些构造方法中分别调用父类的构造方法;定义各成员变量的get/set 方法,重写toString 方法;
(3) 定义一个MyDate类(日期类)作为受雇日期,其中包括年、月、日属性,定义该类的构造方法以及各成员的get/set方法。

(4) 定义一个测试类,创建具有3个元素的Employee对象数组,调用相应方法将对象的基本情况输出并分析各个构造方法的执行顺序。

实验报告内容:
定义一个抽象基类Shape,它包含一个属性Color、一个非抽象方法getColor( ),一个抽象方法getArea(),从Shape类派生出Rectangle和Circle 类,这两个类都用getArea( )方法计算对象的面积。

编写应用程序使用Rectangle 类和Circle类。

六、
(1) 定义一个接口ClassName接口中只有一个抽象方法getClassName()设计一个类Horse,该类实现接口ClassName中的方法getClassName()功能是获取该类的类名。

编写应用程序使用Horse类。

(2) 定义接口Myinterface,接口中只有一个名为area的方法,该方法有一个double类型参数,返回类型也为double。

编写一个类实现接口Mylnterface,接口中area方法的实现是返回参数的立方值;在应用程序中调用该方法并输出其结果。

(3) 定义一个Soundable接口,该接口具有播放声音、关闭声音、增大音量、减小音量等功能。

Soundable接口的这些功能分别由收音机Radio随身听
Walkman和手机Mobile Pho ne实现。

另外设计一个Person类,具有姓名和年龄
两个属性以及一个听音乐的方法listen(Soundable)。

最后设计一个测试类使用这些实现了Soundable接口的声音设备类。

程序运行时,先询问用户想听哪种设备,然后
程序会按照该设备的工作方式发出声音、调节音量、关闭声音。

分析运行结果,并解释这是什么特性。

(4) 声明A类,其中有一个无参构造方法;声明类B,并定义其无参构造方法;声明A类的子类C,其有一成员是B类的一个对象,定义其构造方法。

定义测试类创建C类的对象,观察程序的运行结果,并分析原因。

(5) 声明一个接口,此接口至少具有一个方法;定义一个类,其中有一个方法,
5 该方法中声明内部类实现此接口,并返回此接口的引用。

(6) 声明一个具有内部类的类,此内部类只有一个非默认的构造方法;声明
另外一个具有内部类的类,此内部类继承第一个内部类。

思考题
(1)什么是接口?接口的作用是什么?
(2)接口与抽象类有什么区别?
(3) 在什么情况下,可以对父类对象的引用进行强制类型转换,使其转化为
子类对象的引用?
(4) 什么是多态性?如何实现多态?
实验报告内容:
定义一个Soundable接口,该接口具有播放声音、关闭声音、增大音量、减小音量等功能。

Soundable接口的这些功能分别由收音机Radio、随身听Walkman和手机Mobile Pho ne实现。

另外设计一个Person类,具有姓名和年龄两个属性以及一个听音乐的方法listen(Soundable)。

最后设计一个测试类使用这些实现了Soundable接口的声音设备类。

程序运行时,先询问用户想听哪种设备,然后程序会按照该设备的工作方式发出声音、调节音量、关闭声音。

分析运行结果,并解释这是什么特性。

相关文档
最新文档