JAVA程序设计试卷库(第5套)一、单选题(每小题 2 分,共 20 分),接下来我们就来聊聊关于java程序设计期末考试编程题?以下内容大家不妨参考一二希望能帮到您!

java程序设计期末考试编程题(Java程序设计试卷)

java程序设计期末考试编程题

JAVA程序设计试卷库(第5套)

一、单选题(每小题 2 分,共 20 分)

1、Java Application源程序的主类是指包含有( A )方法的类。

A. main方法 B. toString方法

C. init方法 D. actionPerfromed方法

2、分析下面的程序段,下面的哪个描述是正确的。( B )

char mychar=’c’;

switch(mychar){

default:

case ‘a’: System.out.println(“a”);break;

case ‘b’: System.out.println(“b”);break;

}

A. switch语句块是错误的,因为switch后面的表达式值的类型不是整数;

B. switch语句块是正确的;

C. switch语句块是错误的,因为default没有放在语句块的最后面;

D. 代码运行时,没有任何输出结果。

3、编译并运行下面的Java程序,将产生(  B  )结果。

class A{

    int var1=1;

     int var2;

     public static void main(String[] args){

    int var3=3;

   A a=new A();

System.out.println(a.var1 a.var2 var3);

}

}

A. 0 B. 4

C. 3 D. 代码无法编译,因为var2根本没有被初始化

4、在Java中,下面关于包的陈述中正确的是( D )。

A. 包的声明必须是源文件的任意位置;

B. 包的声明必须紧跟在import语句的后面;

C. 只有公共类才能放在包中;

D. 可以将多个源文件中的类放在同一个包中

5、 在Java语言中,当一个类的某个变量声明为protected时下列说法正确的是( C )。

A. 只有同一类中的成员才能访问它;

B. 不同包中的任何其他类都能够访问它;

C. 同包中的任何其他类能够访问它;

D. 不同包中的子类不可以访问该变量。

6、在Java中,执行下面的语句后,c的值为(  D  )。

String s= "Jessica ";

char c=s.charAt(6);

A. "c "   B. "a "

C. 'c ' D. 'a '

7、设有下面两个赋值语句:

a = Integer.parseInt(“1024”);

b = Integer.valueOf(“1024”).intValue();

下述说法正确的是( D )。

A.a是整数类型变量,b是整数类对象。

B.a是整数类对象,b是整数类型变量。

C.a和b都是整数类对象并且它们的值相等。

D.a和b都是整数类型变量并且它们的值相等。

8、事件剪裁类如WindowAdapter(它实现了WindowListener接口)的优点是什么? ( C )。

A. 继承了那个类的所有行为 ;

B. 子类自动成为监听器;

C. 没有必要实现不使用的任何WindowListener接口中定义的方法;

D.可以自动充当事件的监听者。

9、在用Java构建动画时,(C )方法创建新线程并启动它运行。

A. init() B. start()

C. run() D. paint()

10、下面哪一个选项能正确地创建一个InputStreamReader对象( A )。

A.new InputStreamReader(new FileInputStream(“data”))

B.new InputStreamReader(new FileReader(“data”))

C.new InputStreamReader(new BufferedReader(“data”))

D.new InputStreamReader(“data”)

二、填空题(每空格1分,共15分)

1、阅读下面的程序片段,在①中,parent类与child类之间是 继承 关系;在②中,parent类与child类之间 包含

① class parent{

int fields;

}

class child extends parent{

int fieldChild;

}

② class child{

int fieldsChild;

}

class parent {

child myChild;

}

2、Java中的多态有两种方式:  子类对父类方法的覆盖 同类中方法的重载

3、下面程的输出结果是: ?吗对,上海自来水来自海上

public class turnString {

public static void main(String args[]) {

String s=“上海自来水来自海上,对吗?” ;

     for(int i=s.length( )-1;i>=0;i )

System.out.println(s.charAt(i));

System.out.println():

}

}

4、Applet的 init( ) 方法仅在开始时执行一次? start( ) 方法在用户每次访问包含Applet的HTML文件时都被调用?

5、创建一个FlowLayout的对象fd,使应用该布局管理器的各个组件都向右对齐排列。该对象的创建语句为: FlowLayout fd=new FlowLayout(FlowLayout.RIGHT);

6、java.net包中定义的两个类 Socket ServerSocket; 分别用来实现双向连接的Client和Server端。

7、巳知a=14,b=3,则表达式a<<b运算结果为: 112; 

8、写出运行下面程序片段后的屏幕输出: 0 1 2 i=3

int i;

for(i=0;i<5;i )

{

if(i==3)

break;

System.out.print(i ” ”);

}

System.out.println(“i=” i)

9、在Java Application程序中,一个类是主类的标志是 包含main( )方法 ,在Java Applet程序中,一个类是主类的标志是 该类是Applet类的子类;

10、多态的概念是 一个程序中同名的不同方法共存的情况。 

三、判断改错题(每题2分,共20分)(正确的打√,错误的打×并说明原因)

1、 Java系统包提供了很多预定义类,我们可以直接引用它们而不必从头开始编写程序。 (√ )

2、 程序可以用字符‘*’替代一个TextField中的每个字符的显示,使别人看不出其中的具体内容。( √)

3、 Class1类的属性被private修饰符修饰为私有变量,所以方法不能访问它。(×,Class1类自身的方法可以访问这个私有变量。 )

4、 如果p是父类Parent的对象,而c是子类Child的对象,则语句c=p是正确的。(×,如果p实际代表的是一个子类对象的引用,可以用强制类型转换成c=(Child)p;否则不能把父类对象赋值给子类对象。 )

5、 如果希望程序能够处理所有的异常,包括未知的异常,可以在所有的catch块后面加下catch(Exception e){}。(√ )

6、 TextComponent是一个抽象类,它的两个子类TextField和TextArea才拥有具体的对象。( √)

7、 一个Applet程序在运行过程中,创建的Frame窗框,当Applet或浏览器关闭时也会自动跟着关闭。(×,Frame与Applet平级,不受Applet的关闭的影响。 )

8、 判断下面程序片段的正确性。(×,Vector对象的addElement( )方法的参数类型为对象,所以myv.addElement(i)应改为所以myv.addElement(new Integer(i)); )

import java.util.*;

public class UseVector{

public static void main(String args[])

{

Vector myv=new Vector( );

for(int i=0;i<10;i )

myv.addElement(i);

}

}

9、 在Applet中显示一幅图像,首先要把它调入内存,保存在一个Image对象中,然后调用drawImage()方法画出这个图像。(√)

10、挂起、阻塞或等待的线程都能够恢复运行,但是停止运行的线程将不可能再运行(√)。

四、问答题(每小题10分,共30分)

1、 阅读下面的程序片段,并回答问题。

① Class1被称为是Class2的什么?Class2被称为是Class1的什么?

② Class1有哪些属性和方法?Class2有哪些属性和方法?其中哪些与Class1的属性和方法有关?

class Class1

{

 int field1;

private int field2;

void method1( )

 {

  System.out.println(“我是Class1的第一个方法”);

 }

  void method2( )

 {

  System.out.println(“我是Class1的第二个方法”);

 }

  }

class Class2 extends Class1{

int fieldChild1;

void methodchild1()

{

System.out.println(“我是Class2的第一个方法”);

 }

}

1、 阅读下面的程序片段,并回答问题。

① Class1被称为是Class2的什么?Class2被称为是Class1的什么?

答:Class1被称为Class2的父类,Class2被称为是Class1的子类。

② Class1有哪些属性和方法?Class2有哪些属性和方法?其中哪些与Class1的属性和方法有关?

答:Class1包括属性field1和field2,方法method1和method2;Class2包括自身定义的属性fieldChild1和自身定义的方法methodChild1,以及它从父类继承来的属性field1和方法method1、method2。

2、写出下面程序的功能

import java.applet.Applet;

import java.applet.Applet;

import java.awt.*;

import java.awt.event.*;

public class DataType extends Applet implements ActionListener

{ Label prompt=new Label("请分别输入整数和浮点数:");

TextField input_int=new TextField(6);

TextField input_double=new TextField(6);

TextField output=new TextField(35);

int getInt; double getDouble;

public void init() {

add(prompt); add(input_int); add(input_double);

add(output); output.setEditable(false); input_double.addActionListener(this);

}

public void actionPerformed(ActionEvent e) {

getInt=Integer.parseInt(input_int.getText());

getDouble=Double.parseDouble(input_double.getText());

output.setText("您输入了整数: " getInt "和浮点数:

" getDouble);

}

}

2、写出下列程序完成的功能

答:功能:从图形界面输入一个整数和一个浮点数,然后将其输出来。

3、 说明下面程序段是否有误,如有误,请将错误的地方指出来,并改正

Interface MyInterface

{

void method1();

}

abstract class Parent implements MyInterface

{ }

class Child extends Parend

{

void method1()

{

System.out.println(“I am implemented now!”);

}

}

3、说明下面程序是否有误,如有误,请将错误的地方指出来,并改正

答:接口中的方法都是public ,所以重载方法也必须声明为public.

class Child extends Parend

{

public void method1()

{

System.out.println(“I am implemented now!”);

}

}

五、用Java语言编写程序。(共15分)

假设用户输入一组整数被保存在Vector对象中,请定义一个类vecSort,用来求Vector对象中整数中的最大和最小数据。

要求:

1、 根据题目给出vecSort类应包含的属性和方法(5分)

2、 用Java语言定义类vecSort(10分)

五、用Java语言编写程序。(共15分)

参考代码:

class vecSort{

int max,min;

Vector x=new Vector();

vecSort(Vector y)

{

for(int i=0;i<y.size() ;i )

x.addElement(y.elementAt(i) );

}

int getmax()

{ max=((Integer)(x.elementAt(0))).intValue() ;

for(int i=1;i<x.size();i )

if(max<((Integer)(x.elementAt(i))).intValue())

max=((Integer)(x.elementAt(i))).intValue();

return max;

}

int getmin()

{ min=((Integer)(x.elementAt(0))).intValue() ;

for(int i=1;i<x.size();i )

if(min>((Integer)(x.elementAt(i))).intValue())

min=((Integer)(x.elementAt(i))).intValue();

return min;

}

}

,