2024年1月21日发(作者:)
一、问答题(4小题,每题5分,共20分)
1、Java程序分为哪两类,它们各自的特点是什么?
2、请说出final、finally的区别。
3、请说出方法的重载和覆盖的区别。
4、请说出Collection、List、Set接口的各自特点以及相互关系,并列出List和Set接口各自
的常用实现类。
二、填空(10空,每空2分,共20分)
1、Java中的标识符可以由字母、数字、 【1】 以及 【2】 组合而成。
2、设 x = 2 ,则表达式 ( x - - )/3 的值是 【3】 。
3、Java可以通过 【4】 实现多重继承。
4、每个Applet程序必须有一个类是 【5】 类的子类。
5、设Student类有两个域变量,定义如下:
String name; int age;
请定义Student类的构造方法,来初始化两个域变量。 【6】
请写出语句定义一个姓名为susan,年龄为20的学生对象Std。 【7】
6、在包中与下列基本数据类型相对应的封装类: float:, double:
【8】 。
7、设有String str="12.34";double d;
请写出语句将str串转换成数值并赋给变量d。 【9】
8、若有Student类,请写出语句,定义一个元素个数为10的Student数组std。
【10】
三、阅读程序,回答下面的问题。(2小题,共18分)
1、读下列程序
package im_virtual;
import .*;
public class TestVirtual
{ public static void main(String args[])
{ Vector
(new Mouse());
(new Gerbil());
(new Hamster());
for(Rodent r:v)
{ (); }
}
}
注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。
(第1页)
abstract class Rodent
{ abstract void eat(); }
class Mouse extends Rodent
{
void eat() {n("this is Mouse");}
}
class Gerbil extends Rodent
{
void eat() {n("this is Gerbil");}
}
class Hamster extends Rodent
{
void eat() {n("this is Hamster");}
}
问题(1):分别指出上面的程序的公共类和主类。(2分)
问题(2):上面程序应该保存为什么名字的文件?(2分)
问题(3):请写出编译和运行这个文件的完整命令,注意给出环境变量的设置。(假设源文件
保存在d:java目录,JDK安装在c:j2sdk目录)(2分)
问题(4): 上述程序的执行结果是什么?(4分)
2、读下列程序,写出执行结果。
class TestException
{ public static void main(String[] args)
{ try{arraySize(); }
catch(IndexOutOfBoundsException e)
{ n("IndexOutOfBoundsException");}
catch(NegativeArraySizeException e)
{ n("NegativeArraySizeException");}
catch(Exception e)
{ n("Exception");}
finally
{ n("finally");}
n("out of try catch");
}
static void arraySize() throws NegativeArraySizeException
{
try{int a[]=new int[-3]; }
catch(NegativeArraySizeException e)
{ n("arraySize() throw NegativeArraySizeException");
注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。
(第2页)
throw e;}
}
}
四、程序填空(6空,每空2分,共12分)
1、本程序的功能:从键盘输入一个字符串,并统计该字符串中字符'C'出现的概率。
【1】 ;
public class TjCharNum
{ public static void main(String args[])
{ BufferedReader br=new BufferedReader( 【2】 );
String s;
double d;
try{
s= 【3】 ;
d= 【4】 ;
n("ratio="+d);
}
catch(IOException e)
{ tackTrace();}
}
static double TjNUM(String s,char c)
{
double num=0;
for(int i=0;i<();i++)
{ if((i)= =c) 【5】 ;}
return ( 【6】 );
}
}
五、编程(2小题,共30分, 12+18)
1、编写程序实现功能:将从键盘输入的10字符串逐行写到文件中。(12分)
2、(1) 定义复数类Complex,其满足如下要求(18分):
复数类Complex 的属性有:
RealPart : double型,代表复数的实数部分
ImaginPart : double型,代表复数的虚数部分
复数类Complex 的方法有:
Complex( double rp , double ip ) : 构造函数,形参 rp 为实部的初值,ip为虚部的初值。
Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象相加,所得的结果
仍是一个复数,并将结果返回给此方法的调用者。
Complex complexMinus(Complex a) : 将当前复数对象与形参复数对象相减,所得的结注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。
(第3页)
果仍是一个复数,并将结果返回给此方法的调用者。
public String toString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。
(2)定义一个运算符错误异常类OperatorIllegalException。
(3) 编写一个完整的Java Application程序,实现如下功能:创建两个复数对象,然后让用户从键盘输入一个运算符('+'或'-'),求取两个复数对象的和或差的结果并输出。若用户输入的运算符不是 '+'或'-',抛出异常OperatorIllegalException。
注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考生须在试题图上作解答,请另附该试题图。3、请在试卷类型、考试方式后打勾注明。
(第4页)


发布评论