|
东华大学继续教育学院
2020年春季学期 远程学历教育《Java程序设计》期末大作业
班级 姓名 学号 成绩
项目 一 二 三 四 五 六 总分
成绩
一、 选择题(本大题共10小题,每小题 1分, 共10分)
1. 下列哪个不是面向对象程序设计的基本特征( )
A. 继承性
B. 简洁性
C. 多态性
D. 封装性
2. 关于Java程序设计语言,不正确的说法是( )
A. 健壮性强
B. 支持多线程编程
C. 安全性较高
D. 通过格式对齐界定块范围的语言
3. 关于类,不正确的是( )
A. 类是Java语言中用于封装的程序单元
B. 类的静态方法和属性可以通过类本身和类的实例访问
C. 一个Java类可以实现多个接口
D. 一个Java类可以从多个基类派生
4. 关于Java程序中的对象,不正确的说法是( )
A. 对象指执行引擎为它在内存中分配的存储其状态的空间
B. 所有的方法都需要通过对象调用
C. this代表当前对象
D. new操作通过调用构造函数创建相应的对象
5. 关于Java中的数组,下列叙述中正确的是( )
A. 一个数组中可以包含不同类型的数据
B. 数组的下标从1开始
C. Java程序中可以定义变长数组
D. 数组可以静态初始化也可以动态初始化
6. 关于类的静态成员,下列说法中不正确的是( )
A. 静态成员只能通过类访问,不能通过类的实例访问
B. 静态变量是全局变量
C. 所有Java程序中的main() 方法都是静态方法
D. 静态成员是指独立于对象的类成员
7. 关于方法的重载与覆盖,不正确的是( )
A. 可以通过返回的类型不同来重载类的方法
B. 在一个类中,可以按重载要求对一个方法进行多次重载
C. 子类可以在覆盖父类某个方法的同时,对这个方法进行重载
D. 一个类的构造函数也可以重载多次
8. 关于线程不正确的是( )
A. 线程机制提供了一种更高效的程序并行执行手段
B. 线程是一个程序进程中的一个执行分支
C. 一个Java进程的多个线程有各自的代码区和数据区
D. Java语言对多线程编程提供了良好的支持
9. 关于Java中的异常,不正确的是( )
A. 所有异常都必须捕获并处理
B. 异常是程序运行时的非正常情况
C. Java程序的健壮性得益于Java系统的异常处理机制
D. 在Java语言中,异常是作为一种对象来处理的
10. 关于图形容器不正确的是 ( )
A. 图形界面中的组件通过容器来组织
B. 中间容器用来分组管理界面中的基本组件
C. 每个图形界面最多只有一个顶层容器
D. 所有的容器中都可以加入基本组件
二、 填空题(本大题共15小题,每小题2分,共30分)
1. Java类的三种显示访问控制符分别为________、________与________。
2. Java源程序通过编译器__________编译为__________码文件;
3. 编译后的目标Java程序在__________上__________执行。
4. Java中的一个普通整型、字符数据和字节数据在机器中分别占________位、________位与________位。
5. 对象的状态由________表现,状态的建立和改变由________实现。
6. Applet程序是嵌入在__________中的小程序,而且是直接在 ____________端执行的。
7. 在Java语言中,图形用户界面GUI组件可分为_______组件和________组件。
8. Java语言系统内置的3个可以直接使用的流对象分别是___________、____________、____________。
9. Java程序中的所有线程类都必须实现接口_______¬¬¬¬¬¬¬____¬¬¬¬¬¬¬_,其中的方法__________¬¬¬¬¬¬¬__决定了线程的执行行为。
10. Java程序中抛出异常的关键字为_______,捕获异常的关键字为________。
11. 程序填空题
(1) 以下程序需要引入java.util包中所有的类,请在下划线上填入相应的关键字或符号
_____ java.util. _____
class DateDemo {
Date d;
public void f() {....}
}
(2) 补充下列Rect类中的空缺代码
public class Rect {
int w, h;
public Rect (int w, int h) {
______=______;
______=______;
}
public String getW( ) { ____________ ; }
public String getH( ) { ____________ ; }
public void setW(int w) { ____________; }
public void setH (int h) { ____________; }
}
(3) 对于以下Applet程序和相应的HTML文档,补充缺少的部分
public class AppletOne extends _______ {
public void paint(_______ g) {
g.drawString("Applet Demo",10,10);
}
}
<HTML>
<APPLET CODE=“_______” WIDTH=“100” HEIGHT=“200”>
</ APPLET>
</HTML>
(4) public class IntParse {
public static void main(String[] args) {
String s="150";
long l=new Long(s). _________ ( );
int i=Integer. _________ (s);
}
}
(5) public class JFPDemo{
public static void main(String[] args){
JFrame jf=new JFrame("GUI ONE");
JPanel p=new JPanel();
JLabel l1=new JLabel("Label one");
JLabel l2=new JLabel(" Label two");
p.add(l2);
Container c=jf._________();
c.add(p,"North");
c.add(l1,"Center");
jf.setSize(100,200);
jf.set_______(true);
}
}
三、简答题与程序分析(本大题共5小题,每小题 5分, 共25分)
1. Java语言的特点有哪些?
2. 分别解释进程与线程及其相互之间的关系。
3. 图形界面中界面对象的布局有哪几种?
4. 解释Java程序中的异常机制。
5. 分析以下程序,当分别输入数字2、4和字符’T’时的执行结果,并解释其原因。
public class Exam{
public static void main(String[] args) {
int i=0;
String[] ch={"A","B","C"};
Scanner cin =new Scanner(System.in);
try {
System.out.println("----F1 ----");
System.out.println("请输入你的选项(1,2,3)");
i=cin.nextInt();
System.out.println(ch[i-1]);
}
catch(InputMismatchException e) {
System.out.println("----F2 ----");
System.out.println("输入数据格式错,要求是整型!");
}
catch(ArrayIndexOutOfBoundsException e) {
System.out.println("----F3 ----");
System.out.println("数组越界!");
}
finally {
System.out.println("----F4 ----");
System.out.println("执行完毕!");
}
}
}
四、编程题 (每小题7分,计35分)
1. 编写一个循环程序打印下列空心倒立等腰三角形图案(要求使用循环,否则无效)。
V VVVVVVVVVVVV V
V V
V V
V V
V V
V
2. 编写程序MidNum,接收键盘输入一系列整数(不超过10个),将它们存入数组A,然后按升序排序,最后显示排序后的数组及中位数。
3. 设计一个实数域上二次方程的解方案:首先定义一个方程类 Equ,使得方程对象包含三个实系数属性a,b和c,传输三个参数可构造方程对象,其解方法answer()给出方程在实数域中的完整解决方案(即各种情况下的资料)。最后在主函数中定义各种情况的方程对象实例并显示方程属性和资料。
4. 开发一个完整的Applet程序,以坐标点 (5,5)为中心,分别以3为半径画一个圆Cir,并嵌入到一个HTML文档Cir.html中,然后结合本例说明开发一个Applet程序的过程。
5. 定义两个线程类Tone和Ttwo,执行线程时分别显示“I’m Thread One”和“I’m Thread Two”, 然后在main()函数中创建两个线程的对象,并分别启动两个线程。
|
评分
-
查看全部评分
|