2024年java基础与面向对象编程考试

java基础与面向对象编程考试目录 一 单选题 二 填空题 三 程序填空题 1 super 使用有如下父类和子类的定义 根据要求填写代码 2 简单加法计算器的实现 3 House 类 4 矩形类 5 创建一个 Box 类 求其体积 四 函数题 6 1 求圆面积自定义异常类 6 2 判断一个数列是否已排好序 6 3 设计一个矩形类 Rectangle 6 4 Person 类 6 5 是否偶数 6 6 Java 类实现 正方形

大家好,我是讯享网,很高兴认识大家。



目录

一、单选题

二、填空题

三、程序填空题

1、 super使用--有如下父类和子类的定义,根据要求填写代码

2、简单加法计算器的实现

3、House类

4、矩形类

5、创建一个Box类,求其体积

四、函数题

6-1 求圆面积自定义异常类

6-2 判断一个数列是否已排好序

6-3 设计一个矩形类Rectangle

6-4 Person类

6-5 是否偶数

6-6 Java类实现-正方形

6-7 学生类

6-8 数组求和

6-9 Rectangle类

五、编程题

7-1 设计一个矩形类Rectangle

7-2 重复数据问题

7-3 矩阵相加

7-4 身体质量指数(BMI)测算

7-5 闰年判断


一、单选题

1、下面的方法,当输入为2的时候返回值是多少?( D )

A.0

B.2

C.4

D.10

没有break,发生case穿透现象,程序会继续向下执行,直到遇到break或者结束switch语句的大括号为止,其中i一直为2

2、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。

A.隐藏
B.覆盖
C.重载
D.Java不支持此特性

3、关于抽象类,下面叙述错误的是( C ) 。

A.包含抽象方法的类必须是抽象类

B.抽象方法只需要声明,不需要实现

C.抽象类可以实例化

D.抽象类中可以没有抽象方法

4、以下哪个方法用于定义线程的执行体? ( C )

A.start()

B.init()

C.run()

D.ynchronized()

5、关于集合对象的元素遍历描述错误的是 D

A.通过集合对象可获取迭代器对象

B.通过迭代器对象的hasNext()方法判断是否还有下一个元素

C.通过迭代器对象的next()方法获取元素,并移动到下一个位置

D.通过迭代器对象可向集合中添加元素

6、 运行类C的输出是( D )。

讯享网

A.没有输出。

B.输出 "The default constructor of B is invoked"

C.输出"The default constructor of B is invoked",然后是"The default constructor of A is invoked"

D.输出"The default constructor of A is invoked",然后是"The default constructor of B is invoked"

7、 JFrame的缺省布局管理器是( C )。

A.FlowLayout

B.CardLayout

C.BorderLayout

D.GridLayout

8、 下面程序的输出结果为:( A )。

 

A.10.0        成员方法的重写——子类让父类的成员方法不复存在

B.24.0

C.2.0

D.11.0

9、 以下关于继承的叙述正确的是( A )。

A.在Java中类只允许单一继承

B.在Java中,一个类只能实现一个接口

C.在Java中,一个类不能同时继承一个类和实现一个接口

D.在Java中,接口也具有单继承性

10、 以下声明合法的是( B )

A.abstract double d; 不可访问数据成员的修饰词为static和final

B.public abstract void w( );

C.default String s; 可访问数据成员的修饰词为protected public private 缺省

缺省也就是前面什么都不用修饰,就是String s

D.abstract final double method( ){ } abstract和final不能并列修饰

11、关于下面的类,哪句是最正确的? A

讯享网

A.B的对象包含数据域 i, j, k, m。

B.B的对象包含数据域 j, k, m。

C.B的对象包含数据域 j, m。

D.B的对象包含数据域k, m。

题目问包含的数据域,并不是能不能访问到,B创建后在内存中会存放父类A的私有变量,只是不能直接访问,因此B的对象包含数据域i,j,k,m

java面向对象程序设计试题 java面向对象程序设计题库_System

12、 在Java中用什么关键字修饰的方法可以直接通过类名来调用?( A )

A.static

B.final

C.private

D.void

二、填空题

1、在实现多线程的程序时有两种方式,一是通过继承(Thread )类,二是通过实现(Runable )接口。

2、使用Iterator遍历集合时,可以调用hasNext()方法判断是否存在下一个元素,若存在下一个元素,则调用next()方法取出该元素

3、 在Java GUI编程中,javax.swing包中JTextField是对单行文本进行编辑的组件。

4、 如果一个Java程序实现了监听接口ActionListener,则该程序的必须导入包java.util.event;

三、程序填空题

1、 super使用--有如下父类和子类的定义,根据要求填写代码

 

2、简单加法计算器的实现

 

3、House类

  • 构造一个House类表示住宅 , 该类实现了Comparable接口。
  • 该类有一个私有的String类型成员变量address,两个私有的double型成员变量area和pirce;
  • 该类有一个带一个String型参数和两个double型参数的构造方法,用参数的值初始化house对象。
  • 为address、area和price添加getter()和setter()方法。注意,住宅的面积和价格必须大于0,如果setArea(double area)方法的参数小于等于0时,抛出一个IllegalArgumentException异常对象,异常对象的成员变量message为"住宅的面积必须大于0";如果setPrice(double price)方法的参数小于等于0时,抛出一个IllegalArgumentException异常对象,异常对象的成员变量message为"住宅的价格必须大于0"。
  • 该类有一个公共的方法int compareTo(House house),比较的依据是住宅的单位均价(价格除以面积)。如果当前对象的单位均价大于参数的单位均价,返回1;当前对象的单位均价小于参数的单位均价,返回-1;否则返回0。
  • 该类有一个公共方法toString(),根据住宅的数据生成并返回一个字符串(具体要求看输出样例)。
  • 构造一个Main ,执行一个for循环,共循环10次。每次循环从键盘读入数据创建两个House对象,比较并输出其中较大的对象;如果捕捉到异常,则输出异常信息。
 

4、矩形类

  • 构造一个Rectangle类表示矩形 , 该类实现了Comparable接口。
  • 该类有两个私有的double型成员变量width和height,表示矩形的宽度和高度;
  • 该类有一个带一个无参的构造方法,把宽带和高度都初始化为0;
  • 该类有一个带两个double型参数的构造方法,用参数的值初始化矩形的宽度和高度。
  • 为width和height添加getter()和setter()方法。注意,宽度和高度必须大于等于0,如果setWidth(double width)方法的参数小于0时,抛出一个IllegalArgumentException异常对象,异常对象的成员变量message为"矩形的宽度必须大于等于0";setHeight(double height)方法的参数小于0时,抛出一个IllegalArgumentException异常对象,异常对象的成员变量message为"矩形的高度必须大于等于0"。
  • getArea()方法,返回矩形的面积;
  • getgetPerimeter()方法,返回矩形的周长;
  • 该类有一个公共的方法int compareTo(Rectangle rectangle),比较当前对象和参数。如果当前对象的面积大于参数的面积,返回1;当前对象的面积小于参数的面积,返回-1;否则返回0。
  • 该类有一个公共方法toString(),根据矩形的宽度和高度生成并返回一个字符串(具体要求看输出样例)。
  • 构造一个Main ,执行一个for循环,共循环6次。每次循环从键盘读入数据创建两个矩形对象,比较并输出其中较大的对象的面积;如果捕捉到异常,则输出异常信息。
 

5、创建一个Box类,求其体积

java基础与面向对象编程考试

  • 设计并实现Box类,它包含盒子的高度、宽带和深度的实例数据:还包含布尔变量full这个实例数据,变量full表示盒子是否满了。所有数据都定义为私有。定义Box构造函数接收并初始化盒子的高度、宽带和深度。每次新创建的Box都为空,构造函数将full初始化为假。该类所有实例都有getter和setter方法;该类还包含了一个计算盒子体积的方法。
  • 该类包含一个toString方法,用来返回一行关于盒子的描述。
  • 例如,输入的长、宽、高分别为4,如果盒子为空,则输出:
  • Box is empty, The Volumn is 64
  • 若将盒子的宽度修改为5,盒子设置为满,则输出:
  • Box is full, The Volumn is 80
  • 创建一个测试类BoxTest,其main方法输入盒子的长、宽、高,实例化一个Box对象,并输出盒子的描述。
  • 根据以下的测试类,在空格出填入Box类的设计程序。
 

四、函数题

6-1 求圆面积自定义异常类

计算圆的面积,其中PI取3.14,圆半径为负数时应抛出异常,输出相应提示。

根据提供的主类信息,编写Circle类和CircleException类,以及在相关方法中抛出异常。

 
 

6-2 判断一个数列是否已排好序

编写如下所示的一个方法,判断一个数列是否已排序,如果已按升序排列则返回true。

public static boolean isSorted(int[] list)

主测试程序输入一组数据,然后输出该数列是否已排序或未排好序。

注意:输入的第一个数为该数列的元素个数。

 

6-3 设计一个矩形类Rectangle

设计一个名为Rectangle的类表示矩形。这个类包括:
两个名为width和height的double型数据域,它们分别表示矩形的宽和高。width和height的默认值都为1.

 
 

6-4 Person类

构造Person类。包括姓名(name),性别(sex)和年龄(age)。提供所有属性的set和get函数,提供print函数打印其信息

 
 

6-5 是否偶数

 

6-6 Java类实现-正方形

构造一个Square类,该类有一个私有double变量side存放边长,可以通过getter/setter方法进行访问。

 
 

6-7 学生类

设计一个名为StudentOf2019EE的类,表示2019电子信息工程专业的学生。类包含:

  • String类型私有成员变量name,表示学生的姓名。
  • int型私有成员变量money,表示学生可支配的金额(不能为负数)。
  • int型私有静态(类)变量numberOfObjects,表示StudentOf2019EE对象的数量,初始值为0;每创建一个StudentOf2019EE对象,numberOfObjects应当加1。
  • int型私有静态(类)变量clazzMoney,表示全体学生缴纳的班费余额,初始值为0。
  • 构造方法StudentOf2019EE(String name),参数name用于初始化学生的姓名,可支配金额设为默认值100。
  • 构造方法StudentOf2019EE(String name, int mongey),参数name用于初始化学生的姓名,参数money用于初始化学生的可支配金额。
  • 为name和money添加getter和setter方法,都为公共方法。
  • 公共的实例方法void payClazzMoney(int amount),表示从学生的可支配金额中支出数量为amount的金额作为班费(如果学生的可支配金额<amount,则有多少交多少班费)。
  • 公共的静态方法void clazzActivity(int amount),表示班级活动,需要从班费余额支出数量为amount的金额作为活动经费(如果班费余额<amount,则有多少支出多少)。

创建三个StudentOf2019EE对象,三个对象分别支付一笔钱作为班费,最后组织一次班级活动。

 
 

6-8 数组求和

 

6-9 Rectangle类

构造一个Rectangle类表示矩形 , 该类实现了Comparable接口。

  • 该类有两个私有的double型成员变量width和height,表示矩形的宽度和高度;
  • 该类有一个带一个无参的构造方法,把宽带和高度都初始化为0;
  • 该类有一个带两个double型参数的构造方法,用参数的值初始化矩形的宽度和高度。
  • 为width和height添加getter()和setter()方法。注意,宽度和高度必须大于等于0,如果setWidth(double width)方法的参数小于0时,抛出一个IllegalArgumentException异常对象,异常对象的成员变量message为"矩形的宽度必须大于等于0";setHeight(double height)方法的参数小于0时,抛出一个IllegalArgumentException异常对象,异常对象的成员变量message为"矩形的高度必须大于等于0"。
  • getArea()方法,返回矩形的面积;
  • getgetPerimeter()方法,返回矩形的周长;
  • 该类有一个公共的方法int compareTo(Rectangle rectangle),比较当前对象和参数。如果当前对象的面积大于参数的面积,返回1;当前对象的面积小于参数的面积,返回-1;否则返回0。
  • 该类有一个公共方法toString(),根据矩形的宽度和高度生成并返回一个字符串(具体要求看输出样例)。

构造一个Main ,执行一个for循环,共循环6次。每次循环从键盘读入数据创建两个矩形对象,比较并输出其中较大的对象的面积;如果捕捉到异常,则输出异常信息。

 
 

五、编程题

7-1 设计一个矩形类Rectangle

编写一个Java应用程序,该程序包含两个类,类的定义如下:

(1) 一个有关计算矩形面积的类Rectangle,定义如下成员:

  • ① 两个私有的成员变量:length(长,double类型)、width(宽,double类型);
  • ② 一个公有的无参数的构造方法,该构造方法将所有成员变量初始化为零;
  • ③ 一个公有的有参数的方法void setXY(double a, double b),该方法用于设置矩形的属性length与width;
  • ④ 一个公有的无参数的方法double getArea( ),该方法计算并返回矩形的面积;
  • ⑤一个公有的无参数的方法double getPerimeter( ),该方法计算并返回矩形的周长;

(2) 一个测试类Main,在main方法中声明1个Rectangle类的对象rect,通过setXY方法给rect的属性length和width进行赋值(从键盘输入),通过getArea方法来计算rect的面积,通过getPerimeter方法来计算rect的周长,然后输出其面积与周长。

 

7-2 重复数据问题

 

7-3 矩阵相加

 

7-4 身体质量指数(BMI)测算

 

7-5 闰年判断

小讯
上一篇 2024-12-31 17:39
下一篇 2024-12-30 19:45

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/5098.html