面向对象程序设计模拟试卷
说明:请将答案填在相应的表或框中,将此文件的文件名改为班级+你的学号后两位+你的姓名,如,“2014软工1班01张三.doc”,否则不给分。交卷时请将此文件上传到ftp服务器上。
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选
1、下说法正确的是:( )
A、一个可直接运行的Java源文件中可以有多个public类,其中必须有一个和文件同名
B、一个可直接运行的Java源文件中可以没有public类
C一个可直接运行的Java源文件中只能有一个且和文件同名的public类。
D、一个可直接运行的Java源文件中可以有多个public类,且可以没有和文件同名的类。
2、编译一个定义了3个类和10个方法的Java源文件后,会产生多少个字符码文件,扩展名是什么?()
A、13个字节码文件,扩展名是.class
B、1个字节码文件,扩展名是.class
C、3个字节码文件,扩展名是.java
D、3个字节码文件,扩展名是.class
3、下列哪个是JA V A源代码编译的命令:( )
A、javac
B、java
C、javax
D、jar
4、能够从循环语句的循环体中跳出当前循环的语句是( )。
A、continue语句
B、break语句
C、switch语句
D、while语句
5、Java Application源程序的主类是指包含有( )方法的类。
A、main方法
B、add方法
C、sort方法
D、indexOf方法
6、下列方法定义正确的是( ) 。
A、void add(int a,b){}
B、void int add(int a,int b){}
C、void add(int a,int b){}
D、void add(a,b){}
7、下列哪个是合法的标识符( ) 。
A、java_2x
B、int
C、3t
D、hello#w
8、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?()
A、abstract
B、private
C、protected(本包及其他包的子类)
D、不使用保留字
9、以下代码执行的次数是( ) 。
int i=0;
do{++i;}while(i<1);
A、一次也不执行
B、执行一次
C、执行两次
D、执行无限次
10、switch语句中表达式的值不允许使用的类型是( ) 。
A、int
B、byte
C、char
D、boolean
11、下列程序执行后输出的结果是( ) 。
String str="i love java";
System.out.println(str.charAt(11));
A、i
B、love
C、a
D、运行出错
12、布局管理器可以管理构件的哪个属性?()。
A、大小
B、颜色
C、名称
D、字体
13、编写Swing图形用户程序的时候,一定要import的语句是( )。
A、import javA、awt;
B、import javA、awt.*;
C、import javax.awt.*;
D、import javax.swing.*;
14、下列说法中错误的一项是( )。
A、Applet参数的名字必须区分大小写
B、Applet参数的值都是字符串类型的值
C、应该为Applet参数设置一个默认值,可以避免Applet工作不正常
D、获得参数的方法getParameter()可以不放在init()方法中进行
15、下列哪一项不是Applet的生命周期方法?()
A、start()
B、getCodeBase()
C、destroy()
D、init()
二、程序填空题(本大题共2小题,每题5分,共10分)在每小题的横线上填上相应的内容。
1、(得分:)按要求完成下列代码,每处代码至少1条语句,最多2条语句。注意:下面的三个空处的代码不是同时存在的,真正运行时只选择一处,其它两处相当于被注释掉而不运行。
import java.io.*;
import java.util.*;
public class Test01 {
public static void main(String[] args) {
try{
//①,此处添加一段不会出现异常的代码;
//②,此处添加一段会出现“0做除数”异常的代码;
//③,此处添加一段会出现“数组下标溢出”异常的代码;
System.out.println("嘻嘻,我没犯错!");
}catch (ArithmeticException e){
System.out.println("0不能做除数。");
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("数组下标溢出。");
}
System.out.println("不管你有没犯错,我都要运行!");
}
}
2、(得分:)下列程序中,要求输出一个特定文件(这里是Test02.java)的相关信息,包括文件的名字,相对路径以及文件夹的长度。请将程序补充完整并运行。
import java.io.*;
public class Test02{
public static void main(String args[]){
File file=new File(“Test02.java”);
System.out.println(“name:”+file._________);
System.out.println(“path:”+file.____________);
System.out.println(“length:”+file.___________);]
}
}
结果截图:
三、程序运行与改错题(本大题共2小题,每题5分,共10分),改错题将正确代码拷贝到右边文本框内,然后运行并将结果截图。
1、(得分:
)运行下面代码,将结果截图。
package test;
public class FatherClass{
public FatherClass(){
System.out.println("FatherClass Create");
}
}
package test;
import test.FatherClass;
public class ChildClass extends FatherClass{
public Child Class(){
System.out.println("ChildClass Create");
}
Public static void main(String[]args){
Father Class fc=new FatherClass();
Child Class cc=new ChildClass();
}
}
结果截图:
2、(得分:)改正下面程序段中的错误并运行。
interface Playable {
void play();
}
interface Bounceable {
void play();
}
interface Rollable extends Playable, Bounceable {
Ball ball = new Ball("PingPang");
}
class Ball implements Rollable {
private String name;
public String getName() {
return name;
}
https://www.doczj.com/doc/3815819001.html, = name;
}
public void play() {
ball = new Ball("Football");
System.out.println(ball.getName());
}
}
结果截图:
四、编程题(本大题共3小题,共50分)请将代码粘贴在题后的文本框内,将结果截图(只要结果部分的截图,不要整个Eclipse窗口图)放在题后,尽量不要跨页。
1、(15分,得分:)文件名AEx01.java。输入一行字符串”I am XXX, I’m XX”,其中,XXX是你的姓名的全拼且姓和名首字母大写,XX表示用整数表示你的实际年龄,分别统计并显示其中英文字母、空格、数字和其它字符的个数。
结果截图:
2、(15分,得分:)文件名AEx02.java。编写一个包含一个文本域、一个文本区以及一个按钮的界面,在文本域内输入你的学号和姓名,当用户单击按钮时,在文本区内显示。
结果截图:
3、(20分,得分:)文件名AEx03.java。通过键盘输入你本人的信息:班级、学号、姓名,分三行输入,然后存放在以你名字全拼的首字母的txt文件中,并将内容显示在屏幕上。
结果截图:
简答题 1、传统的结构化程序设计的优点和缺点是什么? 优点: (1)这种程序设计方法力求算法描述准确。 (2)对每一子过程模块容易进行程序正确性证明。 缺点: (1)这种程序设计方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。 (2)程序代码可重用性差。程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。即使重用代码,通常也是通过拷贝或编辑重新生成一份。 (3)维护程序的一致性困难。该种方法将数据与对数据进行处理的程序代码分离。 2、什么是对象? 每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。对象的属性描述了对象的状态和特征,对象的方法说明了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。 3、什么是消息? 在面向对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。当一个对象需要另外一个对象提供服务时,它向对方发出一个服务请求,而收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。4、什么是多态性? 所谓多态性是指当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大方便。 5、什么是面向对象的程序设计方法? 这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。 在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。 6、面向对象方法的特点是什么? (1)OOP以“对象”或“数据”为中心。由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。 (2)引入了“类”(class)的概念。类与类以层次结构组织,属于某个类的对象除具有该类所描述的特性外,还具有层次结构中该类上层所有类描述的全部性质,OOP中称这种机制为继承。 (3)OOP方法的模块性与继承性,保证了新的应用程序设计可在原有对象的数据类型和功能的基础上通过重用、扩展和细化来进行,而不必从头做起或复制原有代码,这样,大大减少了重新编写新代码的工作量,同时降低了程序设计过程中出错的可能性,达到了事半功倍的效果。 7、面向对象的程序设计方法与结构化程序设计方法的比较 (1)传统的结构化程序设计方法以过程为中心构造应用程序,数据和处理数据的过程代码是分离的、相互独立的实体,设计出的程序可重用代码少,且当代码量增加时维护数据和代码的一致性困难。
《面向对象程序设计》 大作业 题目学生成绩管理系统 学院 专业 班级 姓名 指导教师 2015 年11 月11 日
目录 一大作业的目的 (1) 二大作业的内容............................ . .. (2) 三大作业的要求与数据............... ...... . (3) 四大作业应完成的工作.................. . (4) 五总体设计(包含几大功能模块)........... . (5) 六详细设计(各功能模块的具体实现算法——流程图) (6) 七调试分析(包含各模块的测试用例,及测试结果) (7) 八总结 (8) 十参考资料 (9)
一大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 二大作业的内容 对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C++语言实现系统; 2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出. 3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1) 每一条记录包括一个学生的学号、姓名、3门课成绩 (2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录 的输入。) (3)、成绩信息显示浏览功能:完成全部学生记录的显示。 (4)、查询功能:完成按姓名查找学生记录,并显示。 (5)成绩信息的删除:按学号进行删除某学生的成绩. (6)、排序功能:按学生平均成绩进行排序。 (7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!
scjp模拟试题(一) Question No: 1 1.public class test ( 2. public static void main (String args[]) { 3. int i = 0xFFFFFFF1; 4. int j = ~i; 5. 6. } 7. ) What is the decimal value of j at line 5? A. 0 B. 1 C. 14 D. –15 E. An error at line 3 causes compilation to fail. F. An error at line 4 causes compilation to fail. 答案: C Question No: 2 Given: Integer i = new Integer (42); Long 1 = new Long (42); Double d = new Double (42.0); Which two expressions evaluate to True? (Choose Two) A. (i ==1) B. (i == d) C. (d == 1) D. (i.equals (d))
E. (d.equals (i)) F. (i.equals (42)) 答案: D, E Question No: 3 Exhibit : 1. public class test ( 2. private static int j = 0; 3. 4. private static boolean methodB(int k) ( 5. j += k; 6. return true; 6. ) 7. 8. public static void methodA(int i) { 9. boolean b: 10. b = i < 10 | methodB (4); 11. b = i < 10 || methodB (8); 12. } 13. 14. public static void main (String args[] ) ( 15. methodA (0); 16. system.out.printIn(j); 17. ) 18. ) What is the result? A. The program prints “0” B. The program prints “4” C. The program prints “8”