文档库 最新最全的文档下载
当前位置:文档库 › 华南农业大学java程序设计a卷答案

华南农业大学java程序设计a卷答案

华南农业大学java程序设计a卷答案
华南农业大学java程序设计a卷答案

华南农业大学期末考试试卷(A卷)

2010-2011学年第1 学期考试科目:Java程序设计

考试类型:(闭卷)考试考试时间:120 分钟

学号姓名年级专业

题号一二三四总分

得分

评阅人

得分

一、单项选择题(本大题共15 小题,每小题 2 分,共30 分)

1.Java语言是____D_____。

2. A. 面向问题的解释型高级编程语言 B. 面向机器的低级编程语言

C. 面向过程的编译型高级编程语言

D. 面向对象的解释型高级编程语言

3.下列为合法类名的是___C_____。

4. A. class B. 123Student C. GraduateStudent D. “类名”

5.对于构造方法,下列叙述不正确的是___B_____。

6. A. 构造方法是类的一种特殊函数,它的方法名必须与类名相同

B. 构造方法的返回类型只能是void类型

C. 构造方法的主要作用是完成对类的对象的初始化工作

D. 一般在创建新对象时,系统会自动调用构造方法

7.下列关于接口的说明正确的是___D_____。

8. A. 接口和抽象类是同一回事 B. 一个类不可以实现多个接口

C. 接口间不能有继承关系

D. 实现一个接口必须实现接口的所有方法

9.在Java中,存放字符串常量的对象属于___B_____类对象。

10. A. Character B. String C. StringBuffer D. Vector

11.在一个应用程序中有如下定义:int a[]={1,2,3,4,5,6,7,8,9,10}; 为了打印输出数组a的最

后一个元素,下面正确的代码是___B_____。

12. A. System.out.println(a[10]); B. System.out.println(a[9]);

C. System.out.println(a[a.length]);

D. System.out.println(a(9));

13.定义如下的二维数组b,下面的说法不正确的是___C_____。

14.int b[][]={{1,2,3},{4,5,6,7,8},{9,10,11,12,13,14,15}};

A. b.length的值是3

B. b[1].length的值是5

C. b[1][1]的值是1

D. 二维数组b的第一行有3个元素

15.下列语句中,属于多分支语句的是___B_____。

16. A. if语句 B. switch语句 C. do while语句 D. for语句

17.下列注释中不是Java语言使用的是___D_____。

18. A. // 注释 B. /* 注释*/ C. /** 注释*/ D. /** 注释**/

19.关于Java的包叙述不正确的是___A_____。

20. A. 不在同一个包中的类不允许有相同的名称

B. 在同一个包中的类不允许有相同的名称

C. 包是用于组织类与接口的机制

D. 可以通过import语句将包中的类加载到程序中

21.欲构造ArrayList类的一个实例,此类继承了List接口,下列方法正确的是___B_____。

22. A. ArrayList myList=new Object(); B. List myList=new ArrayList();

C. ArrayList myList=new List();

D. List myList=new List();

23.针对以下类定义,编译时出现语法错误的语句是___C_____。

class Animal { … }

class Dog extends Animal { … }

class Cat extends Animal { … }

A. Animal animal = new Dog();

B. Cat cat = (Cat)new Animal();

C. Dog dog = (Dog)new Cat();

D. Cat cat = new Cat();

24.假设子类A继承了父类B,则如下能正确描述这2个类之间关系的类图是___A_____。

A B

C D

25.下面___D_____方法是public void example(){...}的重载方法?

A. public void example(){...}

B. public int example(){...}

C. public void example2(){...}

D. public int example(int m, float f){...}

26.下列叙述中,正确的是___A_____。

A. Java语言的标识符是区分大小写的

B. 源文件名与public类名可以不相同

C. 源文件名其扩展名为.jar

D. 源文件中public类的数目不限

二、填空题(本大题共 10 小题,每小题 2 分,共 20 分)

1. 若有类定义:class B extends A {…},则类B 是类A 的___子类______。

2. 创建类的对象时,使用运算符_____new ______给对象分配内存空间。

3. 表达式(5%2= =0)的值是_____false ______。

4. _____Object ______类是所有Java 包中的类、用户自定义类的直接或间接父类。

5. 在循环中使用_____continue ______语句,将跳过本轮循环的剩余语句,进入循环的下

一轮。

6. 设x=2,则表达式(x++)*3的值是_____6______。

7. 声明并创建类MyClass 的一个对象,其名称为obj ,可通过以下语句实现_____MyClass

obj=new MyClass()______。

8. _____抽象______方法是一种仅有方法头没有方法体的方法。

9. 定义成员变量时,在访问特性修饰符之后加上_____static ______可以使之成为静态成员

变量。

10. Java 中,_____多态______性是指不同的类对象调用同一个签名的成员方法时将执行不

同代码段的现象。

三、程序阅读题(本大题共4小题,每小题5分,共20分) 说明:阅读下面的程序,并写出程序的运行结果。

1. public class CalculateSum{

public static void main(String[] args){ int i,j,sum; for(i=2;i<7;i++){ sum = 1; for ( j=1;j<7;j++ )

sum = sum + j;

} System.out.println(sum); }

答案:22

2. public class Test{

public static void main(String[] args){ 得分

得分

1.5CM

int[] x={122,33,55,678,-987}; int max = x[0];

for (int i=1;i

if (x[i]>max)

max=x[i];

} System.out.println(max); }

答案:678

3. public class Test{

public static void main(String[] args){ A a = new A(); a.show(); } }

public class A{

private int x=99; public void show(){

System.out.println(x); }

}

答案:99

4. class Top{

public void printString(){ System.out.println(“Top 类调用printString 方法”); }

}

class Bottom extends Top{

public void printString(){ System.out.println(“Bottom 类调用printString 方法”); } }

class Test{

public static void main(String[] args){

Top topObj = new Bottom(); topObj.printString(). } }

答案:Bottom 类调用printString 方法

四、编写程序题(本大题共3小题,每小题10分,共30分)

1. 编写程序接受用户输入的10个整数,并输出这10个整数中的最大值和最小值。 答案: 得分

1.5CM

import java.io.* ;

public class MaxMin{

public static void main(String[ ] args){

int i , n = 10 , max = 0 , min = 0 , temp = 0; //数据域2分

Scanner in =new Scanner(System.in);//输入对象创建1分

for ( i = 2 ; i <= n ; i ++ ) {//整个for语句6分

temp = in.nextInt( );

if (temp > max )

max=temp;

if (temp < min)

min=temp;

}

System.out.println("max="+max+"\nmin="+min); //输出1分

}

}

2. 编写程序读入10个学生的成绩,统计及格学生的个数并计算平均分。

答案:

import java.io.* ;

public class Score{

public final int N=10; //可不定义常量,程序中直接用10

public static void main(String[ ] args){

int i, count=0; //数据域2分,其中数组定义占1分

float sum=0,ave;

float[] a = new float[10];

Scanner in =new Scanner(System.in); //输入2分

for(i=0;i

a[i]=in.nextInt();

for(i=0;i

{

if (a[i]>=60)

count=count+1;

sum=sum+a[i];

}

ave=sum/N; //计算平均分1分

printf(“count=%d,ave=%f”,count,ave); //输出1分,不局限于这种形式

}

3.编程定义一个描述矩形的类,类名为Rectangle,并符合以下要求:

(1)矩形类包括2个double类型的数据域a和b,分别代表长和宽。

(2)无参构造方法创建矩形对象时a和b的值为1.0;有参构造方法的形式参数为a和b 提供值。

(3)对数据域a和b进行合理的封装。

(4)定义一个方法getArea(),该方法的返回值是矩形对象的面积。

答案:

class Rectangle {

private double a; //数据域1分

private double b;

public Rectangle() { //2个构造方法3分

a = 1.0;

b = 1.0;

}

public Rectangle(double a, double b) {

this.a = a;

this.b = b;

}

public double getA() { //访问器和修改器共4分return a;

}

public void setA(double a) {

this.a = a;

}

public double getB() {

return b;

}

public void setB(double b) {

this.b = b;

}

public double getArea() { //求面积2分

return a * b;

}

}

相关文档