java期中考试试卷

  • 格式:pdf
  • 大小:141.70 KB
  • 文档页数:7

java期中考试试卷

⼴州民航职业技术学院2011/2012学年第⼀学期10信管1、2《Java程序设计》期中考试题(A

卷)(闭卷)

班级__10信管1班_______学号__30号__姓名____王运恒______成绩______

⼀、选择题(请将答案按要求填在下表中;每题2分,共30分)

1、Java源⽂件和编译后的⽂件扩展名分别为()

A、.java和.class

B、.class和.java

C、.class和.class

D、.java和.java

2、下列哪种类成员修饰符修饰的变量只能在本类中被访问?()

A、protected

B、.public

C、default

D、private

3、Java语⾔类间的继承关系是()。

A、单继承

B、多重继承

C、不能继承

D、不⼀定

4、构造⽅法何时被调⽤( )

A、类定义时

B、创建对象时

C、调⽤对象⽅法时

D、使⽤对象的变量时

5、下列关于接⼝的说法,()是正确的

A、接⼝可以像类⼀样定义成员变量B、接⼝可以像类⼀样定义成员⽅法

C、接⼝不能给出⽅法的实现体

D、接⼝不能继承接⼝

6、下⾯哪种不是Java的数据类型()

A、基本类型

B、数组类型

C、类

D、界⾯类型

7、下列说法中错误的是()

A、在Windows系统下,Frame窗⼝是有标题、边框的

B、Frame的对象实例化后,没有⼤⼩,但是可以看到

C、通过调⽤Frame的setSize()⽅法来设定窗⼝的⼤⼩

D、通过调⽤Frame的setVisible(true)⽅法来设置窗⼝为可见

8、对于⼀个三位的正整数n=789,以下结果为8的()

A、n/10%2

B、(n-n%10)/100

C、n%10

D、n%100/10

9、Java语⾔中创建⼀个对象使⽤的关键字为()

A、class

B、interface

C、new

D、create

10、下列关于接⼝的说法,()是正确的

A、接⼝可像类⼀样定义成员变量

B、接⼝以像类⼀样定义成员

⽅法C、接⼝不能给出⽅法的实现体

D、接⼝不能继承接⼝

11、⾃定义异常时,可以通过对下列哪⼀项进⾏继承?()

A、Error类

B、Applet类

C、Exception类及其⼦类

D、AssertionError类

12、设有对象x具有属性a则访问该属性的⽅法为()A.a.x B、a.x( ) C、x.a D、x.a ( )

13、以下语句执⾏后,str_r的结果为()。

Str ing str_r = “I am learning Java”;

str_r = str_r.toUpperCase( );

str_r = str_r.replaceAll(“Java”, “java”);

A、I am learning java

B、I AM LEARNING JA V A

C、I am learning Java

D、I am learning JA V A

14、下列哪个表达式的值恒为TRUE?

A、a<5

B、x==y

C、x!=’x’

D、4>2

15、下列说法中错误的是()。

A、在Windows系统下,Frame窗⼝是有标题、边框的

B、Frame的对象实例化后,没有⼤⼩,但是可以看到

C、通过调⽤Frame的setSize()⽅法来设定窗⼝的⼤⼩

D、通过调⽤Frame的setVisible(true)⽅法来设置窗⼝为可见

⼆、选择题(请将答案按要求填在空格处,每空2分,共18分)1、Java中提供两种多态机制,继承与接⼝。

2、接⼝实现的关键字是___ implements ____。

3、引⽤static类型的⽅法和变量时,可以使⽤类名做前缀,

也可以使⽤

对象名做前缀。4、⽤_ private ___来修饰⼀个成员变量,使其只有本类可访问。

5、开发Java程序的⼀般步骤是:源程序编辑、源程序编译和⽬标程序执⾏。

6、令a=10,b=23,表达式a>b?a:b 的值为__23_ ____。

三、代码阅读及填空题(请将答案填在空格处,每空2分,共32分)注释:下⾯1、2题都填的空都是正确答案1.下⾯代码的功能为:接受⽤户从键盘输⼊的字符串,判断该字符串的长度,如果长度介于5到10直接,则从控制台输出该字符串,否则如果长度⼩于5,则抛出字符串太短异常,从控制台显⽰“发⽣字符串太短异常:”;否则长度⼤于10时,则抛出字符串太长异常,从控制台显⽰“发⽣字符串太长异常:”。import java.io.*;

public class X1{

static void myFunc(String s) throws StringTooShortException, StringTooLongException{

if(s.length()>=5 && ( 1 ) s.length()<=10 )System.out.println(s); // 没有异常发⽣,正常显⽰字符串信息

else if(s.length()<5)

(2)throw StringTooShortException(s); //抛出字符串太短异常else

(3)throw StringTooLongException(s) ; // 抛出字符串太长异常}

public static void main(String args[ ]) throws IOException{ InputStreamReader in = new InputStreamReader(System.in);

(4 ) BufferedReader br = new BufferedReader(in);

String str=br.readLine();

try{ (5)myFunc(str) }

catch((6)StringTooShortException e ) // 捕捉字符串太短异常

{ System.out.println("发⽣字符串太短异常:"+e); }

catch( (7)StringTooShortException e )) // 捕捉字符串太长异常

{ System.out.println("发⽣字符串太长异常:"+e); }

finally // 程序最后执⾏位置

{ System.out.println("程序执⾏结束"); }

}

}

class StringTooShortException (8)extends Exception

{// ⾃定义字符串太短异常类

public StringTooShortException(String s){

System.out.println(s+" is too short!");

}

}

class StringTooLongException extends Exception{// ⾃定义字符串太长异常类

public StringTooLongException(String s){

System.out.println(s+" is too long!");

}

}

2、编写⼀个由throw抛出的、由try-catch捕捉处理的分母为0以及数组下标越界的程序,当在程序出现异常之前利⽤throw语句来抛出异常,可以做到防患于未然,提前进⾏异常处理,将由被动处理异常转变为主动防⽌异常发⽣。import java.io.*;

public class X7_3_4 {

public static void main(String args[]) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in);

(1)BufferedReade r br = new BufferedReader(isr);System.out.println("请输⼊两个整数:");// (2)前⾯从键盘接受两个字符型的数值,下⾯将其转化为整型数(添加注释)

int a = Integer.parseInt( br.readLine());

int b = Integer.parseInt( br.readLine());

try{

if ((3))

(4)throw new ArithmeticException("抛出算术异常");System.out.println(a/b);

}

catch(ArithmeticException e){

// (5)在上⾯的try语句出现异常后抓住并输出异常信息(添加注释)

e.printStackTrace();

System.out.println("出现被0除的情况!");

}

int c[] ={1, 2, 3, 4}, sum = 0;

try{

for(int i = 0; i<5; i++) {

if ((6)i>=4 )

throw new ArrayIndexOutOfBoundsException("抛出数组下标越界异常");

(7)sum +=c[i] ;//计算c数组四个元素之和,赋值给sumSystem.out.println( " sum = " + sum);

}

}

catch((8)ArrayIndexOutOfBoundsException(c[]) ){

e.printStackTrace();

System.out.println("数组下标越界!");

}

}

}

四、程序设计题(请将答案写在空⽩处,每题10分,共20分)1. 设计⼀个表⽰⼆维平⾯上点的类Point,包括表⽰坐标位置的protected成员变量X和Y,获取和设置X和Y的public⽅法;设计⼀个表⽰⼆维平⾯上圆的类Circle,它继承⾃类Point,还包括表⽰圆半径的protected类型的成员变量r、获取和设置r值的public⽅法、计算圆⾯积的public⽅法;设计⼀个表⽰圆柱体的类Cylinder,它继承⾃类Circle,还包括表⽰圆柱体⾼的protected类型的成员变量h、获取和设置h值的public⽅法、计算圆柱体体积的public⽅法;建⽴若⼲个Cylinder对象,输出其底⾯圆⼼位置坐标、半径和⾼及其体积的值。class point

{

protected int X,Y;