《面向对象程序设计》期末考试A卷(2014-01).doc_第1页
《面向对象程序设计》期末考试A卷(2014-01).doc_第2页
《面向对象程序设计》期末考试A卷(2014-01).doc_第3页
《面向对象程序设计》期末考试A卷(2014-01).doc_第4页
《面向对象程序设计》期末考试A卷(2014-01).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

装订线华南农业大学期末考试试卷(A卷)2013学年第1学期 考试科目:面向对象程序设计考试类型:闭卷考试 考试时间:120分钟学号 姓名 年级专业 题号一二三四总分得分评阅人试卷说明:1. 所有答案必须写在答卷上,否则不得分,试卷和答卷均填写学号和姓名。2. 考试结束时,只上交答卷,试卷自行带走。3. 常用关键字:class implements extends public private protected static final 4. 常用类和接口:Math Cloneable Serializable String Object得分一、单项选择(30分)说明:每小题只有一个正确的选项,每小题2分。1. 关于Java Application(Java应用程序)的说法中错误的是(D)。 A Java Application的基本构成单位是类 B Java Application中使用包来管理类 C Java Application中至少需要有一个类中定义main方法 D Java Application编译发布后,可以直接运行在操作系统上2. 关于下面程序段的编译和运行的说法中正确的是(C)。 int year = 2013; char grade = A; String lang =“Java”; String s = lang + year + grade; A 编译有语法错误 B 编译没有错误,运行时出错 C 运行没有错误,s的值为“Java 2013A”D 运行没有错误,运行时输出“Java 2013A”3. 在类Tester中定义方法如下,C public int sum(int a, int b) 则在该类中定义如下哪个方法是对上述方法的重载(Overload)? A public double sum(int a, int b) B public double sum(double a, double b) C public int sum(int x, int y) D private int sum(int x, int y) 4. 关于数组的说法中错误的是(B)。 A 数组中的每个元素都具有相同的类型 B 一旦数组被定义,数组的大小就不能被改变 C 一旦数组被创建,数组的大小就不能被改变 D 数组变量可以引用元素类型相同的数组,与数组大小无关5. 对于以下代码段的编译和运行的说法正确的是(C)。1. String array = new String10;2. System.out.println(array0);3. System.out.println(array9.length); A 程序编译没有错误,运行时在第2行出错 B 程序编译没有错误,运行时在第3行出错 C 程序编译有错误D 程序能够编译和正常运行6. 定义类Student的结构如下:B public class Student 则下面关于其构造方法的说法中正确的是: A 可以自行定义多个有参构造方法,系统提供一个默认的无参构造方法 B 所有构造方法的返回值类型必须是void,表示没有返回值 C 所有构造方法的可见性修饰符必须是public D 所有构造方法的名称必须是Student7. 类Circle中定义数据域:private boolean major;,则其修改器方法应该为(A)。 A public void setMajor(boolean major) this.major = major; B public boolean isMajor() return this.major; C private void setMajor(boolean major) this.major = major; D private boolean isMajor() return this.major;8. 关于String类的如下代码段的运行结果是(A)。 String s1 = “Welcome to Java”; String s2 = new String(“Welcome to Java”); System.out.println(s1 = s2) + “,” + (s1.equals(s2); A true,true B true,false C false,true D false,false9. 下列关于Java的类和对象的说法中正确的是(C)。 A 不需要定义类就可以直接创建对象 B 对象中必须有数据域和方法 C 数据域可以是基本数据类型变量,也可以是引用类型变量 D 实例方法可以不创建对象直接用类名调用10.关于继承的说法中正确的是(B)。 A 子类继承父类的所有数据域和方法 B 子类继承父类中它可以访问的数据域和方法 C 子类继承父类中public的数据域和方法 D 子类只继承方法,不继承数据域11.关于Java的异常处理说法中正确的是(C)。 A 解决程序中程序员造成的语法错误 B 解决程序实现的功能不正确造成的逻辑错误 C 解决程序运行环境不正常造成的运行错误 D 解决以上全部错误12.下面的类定义中,合法的抽象类定义是(A)。 A abstract class A abstract void method(); B public class A abstract void method(); C abstract class A abstract void method() D public class A abstract void method() 13.下面关于Java语言接口的说法中正确的是(A)。 A 接口可以有静态方法 B 接口可以继承抽象类 C 接口编译后的字节码文件扩展名为.interface D 接口可以继承一个或多个其他接口14.对文件进行二进制数据的写入操作,则打开文件使用的类是(A)。 A FileOutputStream B FileInputStream C FileWriter D File15.如果让父类中定义方法能被任意包中的子类继承,而不能被除父类所在包外的其它包中的其他类访问,则可见性修饰符应该使用(A)。 A protected B public C private D final二、程序填空(20分)说明:按照每小题的要求填充程序中的空白,使程序能够正确编译或运行,每空2分。注意填写答卷时按空号顺序。1. 具体类Student继承Person,实现Readable。/Flyable.javapublic interface Readable void read(); /Person.javapublic class Person /省略定义 /Student.javapublic class Student _(1)_extends_ Person implements(2) Readable public static void read() System.out.println(read.); /省略其它定义2. 按注释填空,使程序正确。package scau.test;public class Shape private boolean filled; public Shape(boolean filled) (3)this.filled = filled ; /对数据域filled赋值形参filled public class Circle extends Shapeprivate double radius;public Circle() (4)this(1.0,true) ; /调用本类构造方法设置radius为1.0,filled为truepublic Circle(double r, boolean filled) (5)this.filled = filled ; /调用父类构造方法,设置filled为形参filled radius = r;3. 以下程序功能为创建二维数组存储多个班学生的考试成绩,数组每行存储一个班的成绩,每行列数为学生人数,然后计算并输出各班的平均成绩。public class Score public static double inputScore(int numberOfClass)double result = (6)new doublenumberOfClass ;Scanner input = new Scanner(System.in);for(int i=0; iresult.length; i+) System.out.printf(“输入第%d班的人数:”, i+1); int n = input.nextInt(); resulti = (7) new doublen ; for(int k=0; kresulti.length; k+) System.out.printf(“输入第%d班第%d人的成绩:”, i+1, k+1); resultik = input.nextDouble(); return result; public static double average(double score) double total = 0; for(int i=0; iscore.length; i+) total += scorei; return total/score.length; public static void main(String args)double scores = inputScore(3); /输入3个班的成绩for(int i=0; iscores.length; i+) System.out.printf(“第%d班的平均成绩为%.2fn”, i+1, average(scoresi) ); 4. 下面程序输出数组中的字符串的长度。/ Tester.javaimport java.io.*;public class Tester public static void main(String args) Object array = “1234”, new Date(), new JFrame(), “Java”;for(int i=0; i array.length; i+) if(arrayi (9) instanceof String) String s = (10)(String) arrayi; System.out.println(s.length(); 得分三、阅读程序(20分)说明:阅读以下每段程序,写出运行的结果,每小题5分。1. 阅读程序1public class Reader01 public static void main(String args) Data data1 = new Data(), data2 = new Data(); data1.data = 11; data2.data = 12; swap1(data1.data, data2.data); System.out.println(data1.data + , + data2.data); swap2(data1, data2); System.out.println(data1.data + , + data2.data); swap3(data1, data2); System.out.println(data1.data + , + data2.data); public static void swap1(int d1, int d2) int temp = d1; d1 = d2; d2 = temp; public static void swap2(Data d1, Data d2) int temp = d1.data; d1.data = d2.data; d2.data = temp; public static void swap3(Data d1, Data d2) Data temp = d1; d1 = d2; d2 = temp; class Data public int data; 11,1212,1112,112. 阅读程序2public class Reader02 public static void main(String args) new P3(); class P1 public P1() System.out.println(P1(); class P2 extends P1 public P2() System.out.println(P2(); public P2(String s) System.out.println(P2( + s + ); class P3 extends P2 public P3() this(); public P3(String s) super(p3); System.out.println(P3( + s + ); 3. 阅读程序3public class Reader03 public static void main(String args) Animal animals = new Dog(), new Cat() ; for (int i = 0; i animals.length; i+) animalsi.display(); animalsi.say(); abstract class Animal public static void display() System.out.println(Animal); public abstract void say();class Dog extends Animal public static void display() System.out.println(Dog); public void say() System.out.println(Wang Wang Wang); class Cat extends Animal public static void display() System.out.println(Cat); public void say() System.out.println(Meow Meow Meow); 4. 阅读程序4public class Reader04 public static void main(String args) int numbers = 20, -10, 5; int i = 0; Demo demo; try for (i = 0; i = 0) this.count = count; else throw new Exception( + count + 不是合理的计数); Override public String toString() return Demo + count= + count + ; 得分四、程序设计(30分)1. 基础编程:(10分)编写Java程序使用筛选法找出不大于某个自然数n的所有素数,算法为:要得到不大于n的所有素数,只要将2到n的所有整数中把不大于n的所有素数的倍数删除即可。要求:从键盘输入n的值,输出不大于n的所有素数。2. 类的定义:(10分)设计并编写一个名为IntStack的类表示存放整数的栈,完成以下要求: l 将该类放置于包pkg01中;l 定义一个线性数据结构存放栈内所有整数,其他类中不能得到该数据结构;l 定义一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论