java期中考试试卷
李汉荣-茄子的英文
广州民航职业技术学院
20112012学年第一学期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
A D A B C C B D C C C C B D B
1 2 3 4 5 6
7 8 9 10 11 12 13 14 15
3、Java语言类间的继承关系是(
)。
A、单继承 B、多重继承 C、不能继承
4、构造方法何时被调用( )
A、类定义时
B、创建对象时
C、调用对象方法时 D、使用对象的变量时
5、下列关于接口的说法,( )是正确的
A、接口可以像类一样定义成员变量
第 1 页 共 13 页
D、不一定
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、n10%2
C、n%10
B、(n-n%10)100
D、n%10010
9、Java语言中创建一个对象使用的关键字为 ( )
A、class
B、interface C、new D、create
10、下列关于接口的说法,( )是正确的
A、接口可像类一样定义成员变量
B、接口以像类一样定义成员
方法
C、接口不能给出方法的实现体
D、接口不能继承接口
第 2 页 共 13 页
11、自定义异常时,可以通过对下列哪一项进行继承?( )
A、Error类
B、Applet类
D、AssertionError类 C、Exception类及其子类
12、设有对象x具有属性a则访问该属性的方法为( )
A.a.x
B、a.x( ) C、x.a D、x.a ( )
13、以下语句执行后,str_r的结果为( )。
String str_r
= “I am learning Java”;
str_r = str_rCase( );
str_r = str_eAll(“Java”, “java”);
A、I am
learning java
C、I am learning Java
B、I AM LEARNING JAVA
D、I am learning JAVA
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类型的方法和变量时,可以使用 类名 做前缀,
第 3 页
共 13 页
也可以使用
对象名 做前缀。
4、用_ private ___来修饰一个成员变量,使其只有本类可访问。
5、开发Java程序的一般步骤是:源程序编辑、 源程序编译
和
目标程序执行 。
6、令a=10,b=23,表达式 a>b?a:b 的值为__23_
____。
三、代码阅读及填空题(请将答案填在空格处,每空2分,共32分)
注释:下面1、2题都填的空都是正确答案
1.下面代码的功能为:接受用户从键盘输入的字
符串,判断该字符
串的长度,如果长度介于5到10直接,则从控制台输出该字符串,
否则如果
长度小于5,则抛出字符串太短异常,从控制台显示“发生
字符串太短异常:”;否则长度大于10时,
则抛出字符串太长异常,
从控制台显示“发生字符串太长异常:”。
import .*;
public class X1{
static void
myFunc(String s) throws StringTooShortException,
StringTooLongException{
if(()>=5 && ( 1 ) ()<=10 )
n(s); 没有异常发生,正常显示字符
串信息
else if(()<5)
第 4 页 共 13 页
(2)throw StringTooShortException(s);
抛出字符串太短异
常
else
(3)throw
StringTooLongException(s) 抛出字符串太长
异常
}
public static void main(String args[ ])
throws IOException{
InputStreamReader
in = new InputStreamReader();
(4 )
BufferedReader br = new BufferedReader(in);
String str=ne();
try{ (5)myFunc(str)
}
catch((6)StringTooShortException
e ) 捕捉字符串太
短异常
{ n(发生字符串太短异常: }
catch( (7)StringTooShortException e
)) 捕捉字
符串太长异常
{ n(发生字符串太长异常: }
finally 程序最后执行位置
{
n(程序执行结束
}
}
class
StringTooShortException (8)extends Exception
第 5 页 共 13 页
{ 自定义字符串太短异常类
public StringTooShortException(String s){
n(s+
}
}
class
StringTooLongException extends Exception{
自定义字符串太长
异常类
public
StringTooLongException(String s){
n(s+
}
}
2、编写一个由throw抛出的、由try-catch捕捉处理的分母为0以
及数组下标越界的程序,当在程序出现异常之前利用throw语句来抛
出异常,可以做到防患于未然,
提前进行异常处理,将由被动处理异
常转变为主动防止异常发生。
import .*;
public class X7_3_4 {
public static void main(String args[]) throws
IOException{
InputStreamReader
isr = new InputStreamReader();
(1)BufferedReader br = new BufferedReader(isr);
n(请输入两个整数:
(2)前面从键盘接受两个字符型的数值,下面将其转
化为整型数 (添加注释)
第 6 页 共 13 页
int a = nt( ne());
int b = nt( ne());
try{
if ((3)
)
(4)throw new
ArithmeticException(抛出算
术异常
}
catch(ArithmeticException e){
n(ab);
(5) 在上面的try语句出现异常后抓住并输出异常信
息
(添加注释)
}
int c[] ={1, 2, 3, 4}, sum = 0;
try{
for(int i = 0; i<5; i++) {
if ((6) i>=4 )
throw new
ArrayIndexOutOfBoundsException(抛
tackTrace();
n(出现被0除的情况!
出数组下标越界异常
(7)sum +=c[i] 计算c数组四个元素之
和,赋值给sum
第 7 页 共 13 页
}
n(
}
catch((8)ArrayIndexOutOfBoundsException(c[])
){
tackTrace();
n(数组下标越界!
}
}
10分,共
第 8 页 共 13 页
20分)
}
四、程序设计题(请将答案写在空白处,每题
1. 设计一个表示
二维平面上点的类Point,包括表示坐标位置的
protected成员变量X和Y,获取和设置X
和Y的public方法; 设计
一个表示二维平面上圆的类Circle,它继承自类Point,还
包括表示圆
半径的protected类型的成员变量r、获取和设置r值的public方法、
计算圆面积的public方法;设计一个表示圆柱体的类Cylinder,它继
承自类Circl
e,还包括表示圆柱体高的protected类型的成员变量h、
获取和设置h值的public方法
、计算圆柱体体积的public方法;建立
若干个Cylinder对象,输出其底面圆心位置坐标、
半径和高及其体积
的值。
class point
{
protected int X,Y;
public point(int x,int
y)
{X = x;
Y = y;
}
public getX(){return X;}
public
getY(){return Y;}
}
class Circle
extends point
第 9 页 共 13 页
{
protected int R;
public Circle(int x,int
y,int r)
{super(x,y);
R = r;
}
public getR(){return R};
public
getArea(){return R*R*3.14f;}
}
class
Cylinder extends Circle
{
protected int
H;
public Cylinder(int x,int y,int r,int h)
{ super(x,y,r);
H = h;
}
public getH(){return H;}
public
getValue(){return getArea()*H;}
}
第
10 页 共 13 页
public class Cal
{
public static void main(String []args)
{
Cylinder cy = new Cylinder(2,2,1,4);
n(());
n(());
n(());
n(());
n(a());
n(ue());
}
}
2.
学校中有教师和学生两类人,而在职研究生既是教师有是学生。
设计两个接口StudentInter
face和TeacherInterface。其中,
StudentInterface接口包括s
etFee()和getFee()方法,分别用于设
置和获取学生的学费;TeacherInter
face接口包括setPay()和getPay
()方法,分别用于设置和获取教师的工资。
第 11 页 共 13 页
定义一个研究生类Graduate,实
现接口StudentInterface和
TeacherInterface,它的成员变量有na
me(姓名)、sex(性别)、age(年
龄)、fee(每学期学费)、pay(月工资)。
创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,
如果收入减去
学费不足2000元,则输出“You need a loan!”信息;
interface
StudentInterface
{
abstract setFee(int
fee);
abstract getFee();
}
interface TeacherInterface
{
abstract setPay(int pay);
abstract
getPay();
}
class Graduate implements
StudentInterface,TeacherInterface
{
String Name;
第 12 页 共 13 页
String Sex;
int Age;
int Fee;
int Pay;
public Graduate (String
name,String sex,int age,int fee,int pay)
}
第 13 页 共 13 页