《JAVA 语言程序设计》期末考试试题
( 适用对象:99 级计算机类专业 )
2001 年 6 月
一、单选择题(每小题 2 分,共 10 分)
1、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展
名为(
)。
A.
C.
.java
.html
B.
D.
.class
.exe
2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是(
)。
A.
C.
3
4
B.
D.
3. 5
5
3、在 Java Applet 程序用户自定义的 Applet 子类中,一般需要重载父类的(
完成一些画图操作。
)方法来
A.
C.
start( )
init( )
B.
D.
stop( )
paint( )
4、不允许作为类及类成员的访问控制符的是(
)。
A.
C.
public
static
B.
D.
private
protected
5、为 AB 类的一个无形式参数无返回值的方法 method 书写方法头,使得使用类名 AB 作
为前缀就可以调用它,该方法头的形式为(
)。
static
A.
C. final
void method( )
void method( )
B. public
D. abstract void method( )
void method( )
二、填空题(每空格 1 分,共 20 分)
1、开发与运行 Java 程序需要经过的三个主要步骤为
和
、
。
。
编译该源程序文件将产生
2、如果一个 Java Applet 源程序文件只定义有一个类,该类的类名为 MyApplet,则类
MyApplet 必须是
类的子类并且存储该源程序文件的文件名
为
3、如果一个 Java Applet 程序文件中定义有 3 个类,则使用 Sun 公司的 JDK 编译
器
而扩展名为
4、在 Java 的基本数据类型中,char 型采用 Unicode 编码方案,每个 Unicode 码占
字节内存空间,这样,无论是中文字符还是英文字符,都是占
用
用
字节内存空间。
5、设 x = 2 ,则表达式 ( x + + )/3 的值是
6、若 x = 5,y = 10,则 x < y 和 x >= y 的逻辑值分别为
7、
必须在抽象类之中定义。
8、创建一个名为 MyPackage 的包的语句是
方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法
方法是不能被当前类的子类重新定义的方法。
个文件名与类名相同
的字节码文件。
。
和
。
,
该语句应该放在程序的位置为:
9、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个
语句后的输出结果是
。
。
int
for
s = 0 ;
( int
i = 0 ; i < MyIntArray.length ; i + + )
if
( i % 2 = = 1 )
s += MyIntArray[i] ;
System.out.println( s );
10、在 Java 程序中,通过类的定义只能实现
现
重继承关系。
三、写出下列程序完成的功能。(每小题 5 分,共 20 分)
重继承,但通过接口的定义可以实
1、public
{ public
class
static
Sum
void main( String
sum = 0.0 ;
args[ ])
double
for
i = 1 ;
( int
sum += 1.0/(double) i ;
i <= 100 ; i + + )
System.out.println( "sum="+sum );
{
}
}
2、 import
public
{
java.io.* ;
class Reverse
public
int
{
int
for
try {
static
void main(String
args[ ])
i , n =10 ;
a[ ] = new int[10];
( i = 0 ; i < n ; i ++ )
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
a[i] = Integer.parseInt(br.readLine( ));
// 输入一个整数
} catch ( IOException e ) { } ;
for
( i = n-1 ; i >= 0 ; i ―― )
System.out.print(a[i]+" ");
System.out.println( );
}
}
3、 import
public
{ public
{
class
java.awt.*;
abc
void
static
main(String args[])
new FrameOut();
}
}
class
FrameOut
extends
Frame
// Frame 为系统定
// 义的窗框类
{
Button btn;
FrameOut( )
{
super("按钮");
btn = new Button("按下我");
setLayout(new
add(btn);
setSize(300,200);
show( );
FlowLayout( ));
}
}
4、import
public
{
public
{
}
java.io.*;
class
abc
static
SubClass
System.out.println(sb.max( ));
void main(String args[])
SubClass( );
sb = new
SuperClass
a = 10 , b = 20 ;
}
}
class
int
{
class SubClass
{
int max( ) {
extends SuperClass
return
((a>b)?a:b);
}
}
四、写出下面程序的运行结果(每小题 10 分,共 30 分)
1、 import
public
{
void main(String args[ ])
java.io.*;
static
class
abc
public
{
AB s = new AB("Hello!","I love JAVA.");
System.out.println(s.toString( ));
}
AB {
}
class
s1;
s2;
String
String
AB( String
{
public
String
{ return s1+s2;}
s1 = str1;
str1 , String
s2 = str2; }
str2 )
toString( )
}
2、 import
public
{
java.io.* ;
abc
class
public
static
void
main(String
args[ ])
int
int
for
i , s = 0 ;
a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };
( i = 0 ; i < a.length ; i ++ )
if ( a[i]%3 = = 0 )
s += a[i] ;
System.out.println("s="+s);
{
}
}
3、import
public
{
java.io.* ;
abc
class
)
public
static
void main(String
args[ ])
{ System.out.println("a="+a+"\nb="+b);
}
SubClass
extends
SuperClass
}
class
{
}
}
class
{
int c;
SubClass(int
{
super(aa,bb);
c=cc;
aa,int bb,int
cc)
extends
SubClass
SubSubClass
a;
int
SubSubClass(int aa,int bb,int
{
super(aa,bb,cc);
a=aa+bb+cc;
cc)
}
void show()
{ System.out.println("a="+a+"\nb="+b+"\nc="+c);
}
}
五、使用 Java 语言编写程序。(每小题 10 分,共 20 分)
1、编写一个字符界面的 Java Application 程序,接受用户输入的 10 个整数,并输出这
10 个整数的最大值和最小值。
2、编写一个完整的 Java Applet 程序使用复数类 Complex 验证两个复数 1+2i 和 3+4i 相
加产生一个新的复数 4+6i 。
复数类 Complex 必须满足如下要求:
(1) 复数类 Complex 的属性有:
RealPart :
ImaginPart :
(2) 复数类 Complex 的方法有:
int 型,代表复数的实数部分
int 型,代表复数的虚数部分
r , int
i ) : 构造函数,形参 r 为实部的初值,i 为虚部的初值。
Complex( ) : 构造函数,将复数的实部和虚部都置 0
Complex( int
Complex
的结果仍是一个复数值,返回给此方法的调用者。
String ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其
中 a 和 b 分别为实部和虚部的数据。
a) : 将当前复数对象与形参复数对象相加,所得
complexAdd(Complex
《JAVA 语言程序设计》期末考试模拟试题
参考答案及评分标准
一、单选择题(每小题 2 分,共 10 分)
4、C
1、B
2、A
3、D
5、A
二、填空题(每空格 1 分,共 20 分)
1、编辑源程序、编译生成字节码、解释运行字节码
2、Applet、MyApplet
3、javac.exe、3、 . class
4、2 、2
5、0
6、true 、 false
7、抽象(abstract)方法、最终(final)方法
8、package MyPackage ;
9、120
10、单、多
应该在程序第一句。
三、写出下列程序完成的功能。(每小题 5 分,共 20 分)
1、计算 1/1+1/2+1/3+...+1/100 的值。
2、从标准输入(即键盘)读入 10 个整数存入整型数组 a 中,然后逆序输出这 10 个整数。
3、创建一个标题为"按钮"的窗框,窗框中显示有"按下我"字样的按钮。
4、求两个数的最大值。
love
JAVA.
四、写出下面程序的运行结果(每小题 10 分,共 30 分)
1、Hello! I
2、s = 180
3、a=60
b=20
c=30
五、使用 Java 语言编写程序。(每小题 10 分,共 20 分)
1、参考程序如下:
import
java.io.* ;
class
abc
public
{
public
{
int
void main(String
static
i , n = 10 , max = 0 , min = 0 ,
try {
args[ ])
temp = 0;
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
max = min = Integer.parseInt(br.readLine( ));
} catch ( IOException e ) { } ;
for
( i = 2 ; i <= n ; i ++ )
try {
{
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
temp = Integer.parseInt(br.readLine( ));
(temp > max ) max=temp;
(temp < min) min=temp;
if
if
} catch ( IOException e ) { } ;
System.out.println("max="+max+"\nmin="+min);
}
}
}
2、参考程序如下:
import
import
public
{
java.applet.* ;
java.awt.* ;
class
abc
extends Applet
Complex a,b,c ;
public
{
void init( )
a = new Complex(1,2);
b = new Complex(3,4);
c = new Complex();
}
public
{
void paint(Graphics
g)
c=a.complexAdd(b);
g.drawString("第一个复数:"+a.toString(),10,50);
g.drawString("第二个复数:"+b.toString(),10,70);
g.drawString("两复数之和:"+c.toString(),10,90);
}
}
class Complex
{
ImaginPart ;
r , int
// 复数的实部
// 复数的虚部
int RealPart ;
int
Complex() { RealPart = 0 ; ImaginPart = 0 ; }
Complex(int
{ RealPart = r ;
Complex
i)
ImaginPart = i ;
a)
complexAdd(Complex
}
{
Complex
temp = new Complex( );
temp.RealPart=RealPart+a.RealPart;
temp.ImaginPart=ImaginPart+a.ImaginPart;
return temp;
// 临时复数对象
}
public String
{
toString( )
return ( RealPart+" + "+ImaginPart+" i ");
}
}
(完)