昆工 java期末考试题库

发布时间:2013-01-04 20:51:24   来源:文档文库   
字号:

1.Java是一种严格的面向对象语言,编写的所有代码都限定在类内完成。

2.Java中引入包的概念是为了减少命名冲突,扩大名字空间。

3.Java既是开发环境,又是应用环境,它代表了一种新的计算模式。

4.Java中的数组是用来表示一组同类型数据的数据结构,且数组是定长的,初始化以后,数组的大小不会再动态变化。

5.Java中的字符串是内存中连续排列的一个或多个字符。

6.Java的封装性体现在将方法和数据封装在一个类中。

7.Java中的每种事件类都有一个对应的接口,接口中申明了一个或多个抽象的事件处理方法,凡是需要接收并处理事件类对象的类,都需要实现相应的接口。

9.Java中,使用构造函数是生成对象的唯一方法。

10.Java中,this用于指代本类,super用于指代其父类。

11.Java中,n维数组只是n-1维数组的数组。

12.Java中,复合语句是一对花括号{括起来的语句组,也称为块。从这种意义上说,类定义和方法定义都可以看作一个块。

13.Java中,环境变量classpath将指示javac编译器如何查找所需要的对象。

14.如果Java文件中包含一个公有类,则该文件的文件名必须与该公有类一致。

15.语句是Java最小的执行单元,各语句间以分号分隔。

16.一个Java源文件可包括一个package语句和任意多个import语句,但package语句必须在前面。

17.ObjectJava程序中所有类的直接和间接父类,也是类库中所有类的父类,处在类层次的最高点。

18.JVM的代码格式为压缩的字节码,因而效率较高。

19.OOP技术把问题看成是相互作用的事物的集合,用属性来描述事物,而把对它的操作定义为方法。

20.在访问权限修饰符中,protected修饰符和无修饰符时的根本区别仅在于不同包的子类是否可以对其访问。

21.static成员与类相对应,不需要创建对象就可使用。

22.while循环中,循环体有可能一次也不执行。

23.Vector类中的元素不能是简单数据类型。

21.Vector是一组对象的集合,可以表达一个完整的数据序列。

22.在创建Vector序列时,不需要指明序列中元素的类型,可以在使用时确定。

23.如果要将整数15存入一个Vector向量中,需采用封装类Integer将其转化为对象。

24.语句char a78;可正常通过编译,因为Java编译系统会隐含地将78强制转换为char型。

25.字节码是不依赖于具体硬件平台的二进制代码。

26.复合数据类型一经定义,便可像其它系统内置类型一样使用.

27.对象的引用变量保存的是对象的首地址,或称为对象的句柄。

28.复合数据类型一经定义,便可像其它系统内置类型一样使用。

29.在多重循环中,可以使用break语句控制跳转到相应的嵌套层次。

30.局部变量在使用前必须初始化,但成员变量可以不进行初始化。

31.对于一个正数,执行算术右移>>后将仍是正数,但执行逻辑右移>>>后有可变为负数。

32.数组说明时系统并不会创建数组,因此不能访问它的任何元素。

33.若有数组说明char s[];,则s为指向一个char型数组的引用变量。

37.在数组的动态初始化中,对于复合类型的数组,使用new只能为数组本身分配空间,并没有对数组的元素进行初始化。

38.类类型的变量实际上是一个引用。

39.类只是一种抽象的数据类型,程序中普遍使用的是由该类创建的对象。

40.如果一个类只包含抽象方法,则使用接口更合适。

41.类变量是在类的定义时分配存储空间的。

42.类变量可以被一个类的多个实例对象所共享。

43.在一个类的内部可以再定义其它类,这样的类称为内部类

44.String类的对象实例是不可改变的,对字符串施加操作后并不改变字符串本身,而是又生成了另一个实例。

45.同抽象类一样,使用接口名称作为一个引用变量的类型也是允许的,该引用可以用来指向任何实现了该接口的类的实例。

46.根据多态性规则,一个方法的参量可以接收该参量类型的子类型。

47.由于类的多态性,类的引用变量既可以指向本类实例,又可以指向其子类的实例。

48.接口与一般类一样,本身也有数据成员和方法,但数据成员一定要赋初值,且此值将不能再更改,而方法必须是抽象方法。

49.不同包中的类名可以相同。

50.包是类的容器,用于分隔类名空间,避免类名冲突。

51.构造方法不能继承。

52.在方法重写时,子类方法不能比父类方法的访问权限更严格。

53.不同包中的类名可以相同。

54.静态方法不能被重写。

55.如果在子类的构造方法的定义中调用了父类的构造方法,则调用语句必须出现在子类构造方法的第一行。

56.包含抽象方法的类一定是抽象类,但抽象类中的方法不一定是抽象方法

60.为了加强程序的鲁棒性,程序设计时,必须考虑到可能发生的异常事件并做出相应的处理。

61.面板(JPanel)是一种用途广泛的容器,但不能单独存在,必须被添加到其他容器内部。

62.BorderLayout布局管理器中,每个区域只能加入一个组件,如果确实希望向某个区域添加多个组件,可以将它们加入一个JPanel容器,然后再将该容器添加到该区域。

63.若不想使用布局管理器,需首先调用容器的setLayout(null)方法将布局管理器设为空,然后调用组件的 setBounds方法设置组件的位置和大小。

64.为了接收并处理某类用户事件,组件必须注册相应事件的监听程序。

65.由数组创建的列表具有不可再更改的特性。

66.菜单项JMenuItem和普通按钮JButton具有相似的行为,它们具有相同的父类AbstractButton

67.模式形式的对话框在关闭前不能接收任何形式的输入。

68.文本域JTextField只允许输入一行文本内容,当用户按EnterReturn键时,即表示输入结束。

69.文本区JTextArea本身不带滚动条,需要滚动条时,常将其放入滚动窗格JScrollPane中。

70.复选按钮JCheckBox和单选按钮JRadioButton一样,具有选中和不选中两种状态。

71.创建文本域JTextField对象时,可以指定列数,但这个数字有可能会被忽略。

72.showConfirmDialogshowInputDialogshowMessageDialog均为定义在JOptionPane类中的静态方法,用于创建各种标准的对话框。

101.Java中的变量均需先声明,然后赋值,才能使用。

102. Java的异常类由系统提供,用户不能创建自己的异常类。

103.Java中的变量均需先声明,然后赋值,才能使用。

104.Java提供了异常处理机制,当程序遇到异常发生时,异常机制可结束程序的运行。

105.Java的事件监听模型不允许为一个组件注册多个监听程序。

106.Java中,不能在组件上绘制图形。

107.Java中,0表示false,非0表示true

108.Java中,null关键字和0的含义是一样的。

109.Java中,数组引用的类型可以为它指向元素的子类。

110.Java的方法调用采用按值传送方式,因此即使传递的是对象引用,该引用所指向的对象的内容也不能更改。

111.一个java文件中可包含任意多个import语句,且其出现的位置也是任意的。

112.else子句总是与和它具有相同缩进格式的if语句配对。

113for循环中,可以忽略初始化语句和循环迭代语句,但不能忽略作为条件判断的逻辑表达式。

114.若一个文件中包含有package语句,则该语句一定出现在该文件的第一行。

115.数组和Vector类都只能保存同类型元素,但前者的长度一经定义后不再可变,而后者的长度可根据需要改变。

116.在循环语句中,break可以立即结束当次循环而执行下一次循环。

117.要处理不变字符串,经常使用的类是StringBuffer

118.系统为StringBuffer类对象分配内存时,按对象所含字符串的实际个数等量分配。

119.在一个源文件中最多只能定义一个公有类和一个非公有类。

120.面向对象的程序设计方法模仿计算机的工作方式,程序被视为一序列依次执行的指令。

121子类只能从父类那里继承属性,而不能继承方法。

122.所谓转换对象,是指可以将父类的一个实例赋给子类的引用。

123.在静态方法中除了可以使用其内部定义的参数外,还可以使用该静态方法所属类的非静态变量。

124.一个类只能从它的直接父类而不能从它的间接父类继承属性和行为。

125.接口和类一样,可以直接来创建对象。

126.抽象类不能包含构造方法。

127.如果程序员没有为类定义构造方法,则将无法创建对象。

128.和普通类型变量一样,在声明对象引用变量后,系统将在内存中分配能够保存该类对象的存储空间。

129.花括号{}包含的语句常称为块语句或复合语句,它可包含多条标准语句,但不允许再包含块语句。

130.对于类中的私有数据成员,没有方法对其进行访问。

131.BorderLayout布局管理器中,每个区域只能加入一个组件,如果试图向某个区域添加多个组件,则只有第一个组件是有效的。

132.Swing容器只能摆放组件,不能再将其它容器放入其中。

133.列表JList只支持单项选择,而不能进行多项选择。

134.当菜单中的菜单项被选中时,将会引发一个ActionEvent事件,因此通常需要为菜单项注册ItemListener,以便对事件作出反应。

135.对于JCheckBoxJRadioButton对象,不能注册ItemEvent事件监听程序。

136.组合框JComboBox只能在提供的一些备选列表中进行选择,而不能输入新的内容。

137.布局管理器用于管理和安排容器内组件的位置,但对组件的大小没有影响。

138.复选菜单项的默认初始状态为选中状态。

1.Java正式发布于( )年。d. 1995

2.Java程序运行的入口点是( d. main方法

3.java中,数组的下标是从( )开始的。 b. 0

4.用于将Java程序编译成字节码文件的工具是( d. javac

5.在下列Java的基本数据类型中,所占字节数最少的是( a. boolean

6.下列有关Java的说法中,错误的是( b. Java程序只能解释执行

7.不能用于修饰main方法的关键字是( b. private

8.如果一个方法为void类型,这表明( b. 该方法不会返回任何值

9.JDK中,负责解释执行字节码文件的应用程序是( c. java

10.JDK中,用来解释已经转换成字节码的Applet程序的工具是( b. appletviewer

11.对于语句int x=7; byte y=x; ,正确的说法是( b. 不能通过编译,必须将x显示地进行强制转换

12.下列有关Java程序注释的说法中,错误的是( d. //开头的注释为文档注释

13.下列程序的运行结果是( a. 5, 12 12, 12

14.若现已有定义好的类Car,该类具有一个无参构造器和一个带int型参数的有参构造器,则下述语句中不能正确创建对象的是( a. Car myCar;

15.若有语句String s=Hello,; String t=s; s=Java!;,则t指向的字符串为( b. Hello,

16.下面有关继承的说法中,错误的是( a. 子类可以增加自己的属性,但不能增加方法

17.执行String s;语句后,s中的值为( c. null

18 若现已有定义好的类Car,该类具有一个无参构造器和一个带int型参数的有参构造器,则下述语句中不能正确创建对象的是( d. Car myCar;

19.在一个方法体内定义的局部变量的作用范围是( a. 该方法体内

20.若要使一个类具有包级访问权限,即只有在同一个包内的类能够对其访问,关键字class之前所需要的修饰符是( d. 不需要任何修饰符

21.若要使一个方法能够不依赖于该类对象而存在,必须使用的关键字是( ) c. static

22.当一个char型变量a和一个int型变量b进行混合运算时,正确的说法是( d. 可直接进行运算,a自动转换为int型,结果也为int

23.在以下标识符中,错误的是( d. import

24.以下浮点数的定义和初始化中,错误的是( b. float f=12.34;

25.在以下整型常量的表示方法中,不正确的是( d. 090

26.在下列标识符中,正确的是( c. yourName

27.对于下面的程序,正确的说法是( 3 short s=32768; c. 3行有错

28.以下组件中,不属于Swing组件的是( a. Button

29.执行String s;语句后,s中的值为( c. null

30.在一个方法体内定义的局部变量的作用范围是( d. 该方法体内

31.在面向对象程序设计中,代码的重用性主要是通过( )来实现的。d. 继承

32.方法中定义的局部变量的作用域是( d. 从该变量说明处开始到包含该说明的语句块结束处

33.对于语句for(int i=0; i<=3; ++i){System.out.print(a); },输出语句共执行的次数为(4

34.以下变量定义及其初始化语句中,错误的是( d. float floatValue=12.4;

35.对于一个没有初始化的boolean型成员变量,当创建对象时,系统将该变量自动初始化为( c. false

36.下列程序的运行结果是( c. b=1,c=true

37有关下列程序错误的说法中,正确的是( c. 5行和第6行定义的x命名冲突

38下列程序的输出结果为( d. 30

39.下列表达式中,x的取值范围为0x100的表达式是(

b. x= (int)(Math.random()*100+0.5)

40.以下运算符中,优先级最高的是( d. ( )

41.int型变量x的值为128,则执行语句x=x>>>32;后,x的值为( d. 128

42.有关下列程序的执行结果,正确的说法是( c. 编译报错

43.要将新元素添加到Vector对象的尾部最合适的方法是( a. addElement

44.trimToSize方法的作用是( a. Vector的容量下调至最小值

45.要清除向量序列中的所有元素应采用的方法是( c. removeAllElements

46.int为整型数组,i为整型变量,则下列有关数组元素的访问方法中错误的是(

c. int[i/2.0]=8;

47.若有数组定义int a[]={{2,3},{1,5},{3,4}};,则a[1][1]的值为( b. 5

48.Vector类中用于记录元素的实际个数的域是( a. elementCount

49.若整型变量xy的值分别为12,则语句System.out.println(x+y=+x+y);的输出结果为( c. x+y=12

50.执行下面的程序段后, twoDim.length 的值为( c. 2

51.若已有定义String s=This is ;,则执行语句String t=s.concat(String);后,t的内容为( a. ”This is String”

52.a3行、4列的矩阵数组,则a.length*a[0].length的值为( a. 12

53.若有语句Vector myVector=new Vector(20,5);,则myVector的初始容量为( a. 20

54.要对数组进行排序,可采用的方法是( a. sort

55.要检测数组的元素个数,可以访问该数组类的成员变量( c. length

56.要得到一个字符串对象中的字符个数,需要调用的方法是( a. length

57.Point为已定义的类类型,则下列有关数组说明的语句中,错误的是(

c. int myInt[5];

58.若要将一个变量定义为静态变量,则需使用的关键字为( b. static

59.在多态性处理时,有时需要判明某个引用到底指向哪个实例,可以使用的运算符是( a. instanceof

60.若有类定义TestMyPro,则该类的构造方法的可能形式是(

a. public TestMyPro(int i) {…}

61.下列有关Java包的说法中,错误的是( d. 程序中可以有多条package语句

62.若顶层类为Outer,内部类为Inner,则编译后,对应内部类的字节码文件为(

b. Outer$Inner.class

63.当调用默认的构造方法生成实例对象时,对象的属性值为( d. 零或空

64.当一个子类中定义的方法所用的名字、返回类型及参数表和其父类中的某个方法完全相同时,构成( a. 方法重写

65.下列有关接口的说法,错误的是( d. 和类一样,Java只允许一个类实现一个接口

66.下列有关接口实现的说法中,错误的是( a. 完成接口的类只需要实现所用到的接口中的抽象方法

67.为了对类名空间实现更好的管理,Java引入( )的概念。 d.

68.下述程序中,正确的说法是( c. 7行错误

69.下面程序中,正确的说法是( a. 11行出错

70.下列有关final关键字的说法中,错误的是(

c. 如果一个引用类型的变量被标记为final,则该引用变量所指向对象的取值将不能改变

71.当一个类中具有多个同名但参数列表不同的方法时,它们构成( b. 方法重载

72.若类Manager继承于类Employee,两个类中均定义了同名方法getDetails,现有定义Employee e=new Manager,则程序中的e.getDetails语句将导致(

d. 调用类ManagergetDetails方法

73.为了保证数据的合法性和一致性,一般通过方法来对数据成员进行访问,这通常称为( a. 封装

74.定义了方法但没有定义具体实现的类通常称为( b. 抽象类

75.如果需要在当前名字空间中引入包mypackage中的所有类,正确的语句是(

c. import mypackage.*;

76.如果一个类的定义中没有出现extends关键字,则表明这个类( d. 派生于Object

77.Java中,类是一种抽象数据类型,它由( )组成 c. 成员变量和成员方法

78.Java的继承机制是( b. 单重继承

79.Java异常处理中,finally后面的代码为( b. 必须执行的代码

80.Java的异常处理中,所有异常的父类是( d. Exception

81.当数组下标越界时,将导致( )异常 c. IndexOutOfBoundsException

82.在一个方法的运行过程中,如果发生了异常,程序将( a. 生成并抛出异常对象

83.下面的方法说明中,正确的是( c. public void Method() throws IOException

84.在异常处理中,可能抛出异常的代码段应放在关键字( )后的花括号中。 a. try

85.在下列程序的运行结果中, "This is always printed" 出现的次数为( b. 4

86.要想将组件逐个放置在容器中的一行上,若放不下则另起一个新行,所需使用的布局管理器是( a. FlowLayout

87.要创建一个带有标题行和最小化、最大化和关闭按钮的独立窗口,需要使用的容器是(

b. Jframe

88.BorderLayout布局管理器中,如果没有指定将组件放在哪个区域,则它将会默认被放置在( a. CENTER

90.BorderLayout布局管理器中,若想将按钮添加到窗口下方,应使用的区域是( c. SOUTH

91.若某个监听程序接口中定义了5种抽象的事件处理方法,但程序只用到其中的一种方法,则在实现该接口的类中,可以(

b. 将不感兴趣的方法内容设为空,而只具体实现所用到的方法

92.要改变容器的布局管理器,可以使用的方法是( c. getContentPane

93.pv为一JPanel实例,若需将其布局管理器设置为垂直方向的BoxLayout,应使用的语句是( c. pv.setLayout(new BoxLayout(pv, BoxLayout.Y_AXIS));

93.顶层容器中内容窗格的默认布局管理器是( b. BorderLayout

94.Java的事件处理模型中,事件监听接口和事件适配器的关系是(

d. 事件适配器是实现了相应事件监听接口的类,只是相应方法的实现内容为空

95.以下组件中,不能输入文本的是( b. Jlabel

96.JFileChooser组件的作用是( c. 创建文件对话框

97.要设置组件的背景色,所选用的方法是( b. setBackground

98.以下说法中,正确的是( a. 对于多个JCheckBox对象,若将它们加入一个按钮组,它们只能进行单选

99.若窗体为frame,菜单栏为mb,则能实现将菜单放到窗口上方的语句是(

a. frame.setJMenuBar(mb);

100.创建组合框对象后,要将其设置为可编辑组合框,采用的方法是( a. setEditable

101.语句JDialog d=new JDialog(frame, information, true);的作用是(

c. 创建一个标题为information的模式对话框,该对话框为frame所有

102.要显示弹出式菜单,须调用的方法是( c. show

103.要显示提示性的文本信息和图标,经常采用的组件是( c. JLabel

104.如果两个按钮都注册了同一个事件处理程序,则一般需要为每个按钮设置一个命令名,并在事件处理程序中通过( )方法判断操作发生在哪个按钮对象上。

b. getActionCommand

105.下列有关列表的说法中错误的是( b. 列表本身带有滚动条功能

106.对于切换按钮JToggleButton,可以通过方法( )获得按钮的当前状态。 d. isSelected

107.在文件对话框中,当用户进行文件选择后,可以通过( )方法取得用户所选择的文件。

b. getSelectedFile

108.要创建一个多行多列的文本输入框,应使用的组件是( b. JTextArea

109.jcb1jcb2均为JComboBox对象,则语句jcb2.insertItemAt(jcb1.getSelectedItem(), 0)的作用是( c. jcb1的当前选择项添加到jcb2的第1个位置;

110.要设置组件所使用的字体,所选用的方法是( c. setFont

111.关于命令JTextArea ta\new JTextArea(java swing, 4,30),正确的说法是(

a. 创建一个4行、30列的文本区,并显示初始字符串java swing

112.要创建一个显示文本为关闭的按钮,正确的命令是(

a. JButton b d. JButton(关闭); e. new Button(关闭); g. new JButton(关闭);

h. new JButton(关闭);

1.15.2%5的计算结果是 0.2

2.如果一个方法不返回任何值,则该方法的返回值类型为 void

3.若程序中需要使用其它文件中已定义好的类需使用的关键字是 import

4.若要使一个类能够被所有其它类访问所需要的访问权限修饰符是 public

5.一个类要实现一个接口,在类的定义中需要使用的关键字是 implements

6.若已有数组说明char s[];”,则创建20个字符的数组的语句是 s=new char[20];

7.Java编译器可以将Java源程序编译成与机器无关的二进制代码文件即字节码文件它的扩展名是 class

8.若一个程序中包含有一个名为Sam1的公有类和一个名为Sam2的非公有类则该文件必须命名为 Sam1.java

9.java.util包中的 Vector 类,提供了一个类似数组的顺序存储结构,该类的对象可以看作是一个可变大小的数组。

10.itemList为一字符串数组,则利用该数组创建一组合框(JComboBox)的命令为:JComboBox jcb=new JComboBox(itemList);

11.在面向对象程序设计中,程序被视为一组协同工作的对象,而对象是通过一种抽象数据类型来描述的,这种抽象数据类型被称为 类(class

12.现已有类定义Sam1,该类中没有编写任何构造器,要创建该类的一个对象并用名为objSam1的引用变量指向该对象的语句是 Sam1 objSam1=new Sam1()

13.当重载构造方法时,可以使用关键字 this 来指代本类中的其他构造方法,而使用关键字 super 来指代父类构造方法。

14.如果子类已经重写了父类中的方法,但在子类中还想使用父类中被隐藏的方法,可以使用 super 关键字。

15. menuBar为一菜单栏,menu为一菜单,mi为一菜单项,若要将它们组成一个通常意义上的菜单,所需使用的命令是 menu.add(mi); menuBar.add(menu);

16.Java程序导致异常发生时,Java运行时系统将沿方法的调用栈逐层寻找相应的处理代码,直到找到包含相应异常处理的方法为止,并把异常对象交给该方法处理,这一过程称为 异常捕获

17.下列循环的执行次数为 5

for(int i=0; i<10; i++) {if (i==5) break;System.out.println(“i=”+i);}

18.以下程序的计算结果是 x=2.0

class Test {public static void main(String[] args){int d=5;int c=2;float x=d/c;System.out.println(“x=”+x);} }

19.下述程序的输出结果是 flag=false,Flag=true

class Test {public static void main(String[] args){boolean flag,Flag;flag=6>7;Flag=flag||!flag;

System.out.println("flag="+flag+",Flag="+Flag);}}

20.以下程序的输出结果是: obj1.counter=2,obj2.counter=2

public class Count {private static int counter=0;public Count() {counter++;}public static void main(String args[]) {Count obj1=new Count();Count obj2=new Count();System.out.print("obj1.counter="+obj1.counter);System.out.print(",obj2.counter="+obj2.counter);}}

21. 下述程序的运行结果为 4

public class Count {public static void main(String args[]) {int firstVal=5,secondVal=1;if(firstVal==0){if(secondVal==1)firstVal++;}else firstVal--;System.out.println(firstVal);}}

22. 以下程序的输出结果是 BCDNo match!

public class SwitchTest {public static void main(String[] args) {char c='B';switch(c){case 'A':System.out.print("A");case 'B':System.out.print("B");case 'C':System.out.print("C");case 'D':System.out.print("D");default: System.out.println("No match!");}} }

23. 下列程序的输出结果是 4 3 2 1

public class Test {public static void main(String[] args) {int a[]={1,2,3,4};for(int i=a.length-1;i>=0;i--)System.out.print(a[i]+" ");}}

24. 下列程序的输出结果是 20

import java.util.Vector;class TestVector{public static void main(String[] args) {Vector myVector=newVector(100);for(inti=0;i<10;i++){myVector.addElement("Welcome");myVector.addElement("to");myVector.addElement("beijing");}while(myVector.removeElement("to"));System.out.println(myVector.size());} }

25. 以下程序的输出结果是 true,true,true,false

class StringTest{public static void main(String args[]) {String str1 = "JAVA";String str2 = "JAVA";String str3 = new String("JAVA");boolean result1 = str1.equals(str2);boolean result2 = str2.equals(str3);boolean result3 = str1==str2;boolean result4 = str2==str3;System.out.println(result1+","+result2+","+result3+","+result4);}}

26Point类是平面上的二维点类,该类的moveTo方法将使一个点对象移动到新的位置,请在空白处填入相应的语句: y=y1 x=x1;

27. 下面的方法daysInMonth用于判断某年某月的天数,填空完成相应的功能。

month year % 4 == 0

28. 下面的程序计算二维点和三维点到原点的距离,请填空完成程序。

this(0,0,0) Math.sqrt( x*x + y*y + z*z )

29. 下面的程序计算两个整数之和,请填空。

x+y GeneralFunction.addUp(ab)

30. 下面的程序通过接口实现堆栈(Stack)的存储结构,请填空。

CharStorage void put(char c) point--

31.以下的程序在窗口中显示一个标题为打开的按钮,请填空。

JButton("打开") true

32. 下述程序为关闭按钮注册了事件监听器,当用户单击该按钮时,可退出程序,请填空。

ae3 System.exit(0)

33. 对于一个按钮对象,要使其能够在按下时交替显示两条不同的信息,需为该按钮注册相应的事件监听程序,请填空。 tf.setText(s1) tag = 0

34 对于一密码框,若要获取用户输入的密码并显示到一个文本区ta中,须实现ActionListener接口中的actionPerformed方法,请填空。 getPassword() pw

1. 编写程序计算圆的周长和面积。要求构造函数能对半径进行初始化,方法getPerimetergetArea分别计算其周长和面积。

public class Circle {private double r; //r是半径public Circle(double dr) { r=dr; }

public static void main(String[] args) {Circle k=new Circle(3);System.out.println("周长为:"+k.getPerimeter());System.out.println("面积为:"+k.getArea());}public double getPerimeter(){ return 2*Math.PI*r;}public double getArea(){ return Math.PI*r*r;}}

2. 编写程序计算长方形的周长和面积。要求构造函数能对长和宽进行初始化,方法getPerimetergetArea分别计算其周长和面积。

public class MyExam9 {public static void main(String[] args) { double r = 5.0;double perimeter = 2 * Math.PI * r;double area = r * r * Math.PI; System.out.println("周长" + perimeter); System.out.println("面积" + area);}}

3. 定义平面中的一个二维点类Point和一个三维点类Point3d,要求Point点类定义一个无参构造器、一个有参构造器和一个将点移动到新位置的moveTo方法。Point3d则继承于Point类,并包含一个移动到新位置的moveTo3d方法。

class Point { protected int x; protected int y; public Point(){} public Point(int x, int y){

this.x = x; this.y = y; } public void moveTo(int x, int y) { this.x = x; this.y = y;} }

class Point3D extends Point {protected int z;public Point3D(){}public Point3D(int x, int y, int z){ super(x, y); this.z = z; }public void moveTo3D(int x, int y, int z) { super.moveTo(x, y);

this.z = z; }}

4. 编写一个方法判断某一年是否属于闰年,并在main方法中进行测试。

public class TestLeapYear {public int year; public TestLeapYear() {year=2000; }

public TestLeapYear(int y){year=y;}public boolean leap( ){boolean flag=false;if ((year%4==0 && year%100 !=0) || year%400==0 )flag=true;return flag; }/** * @param args the command line arguments*/public static void main(String[] args) {// TODO code application logic here TestLeapYear myYear=new TestLeapYear(2004);boolean f=myYear.leap();

if (f) System.out.println(myYear.year+"是闰年!");else

System.out.println(myYear.year+"不是闰年!");}}

5. 给定一组float型数,求它们的平均值和最大值。

public class MyExam6{float x,y; public MyExam6(float x, float y){this.x=x;this.y=y;

}public float add(){return((float )(this.x+this.y));}public float avage(){

return((float)((this.x+this.y)/2));} public float min(){float min=0f;if(this.x < this.y){

min=this.x;}return min;}public static void main(String args[]){

float x=(float )(Math.random())*100;float y=(float )(Math.random())*100;

MyExam6 obj=new MyExam6(2,3);System.out.println("s="+obj.add());

System.out.println("v="+obj.avage());System.out.println("m="+obj.min());}}

6. 对于一个二维整型数组,计算各行元素之和并查找其值最大的那个行。

public class MyExam7 {public static void main(String[] args) {int s [][]={{21,24,25,26,38,},{25,28,24,69,66} };int sum[]=new int[2];int so[]=new int[5]; int i;int j;int min=0;for(j=0;j<2;j++){for(i=0;i<5;i++){so[i]=so[i]+s[j][i];sum[j]=sum[j]+so[i];min=sum[0];if(sum[j]

7. 现有接口定义如下interface shape2D {double pi=3.14;double area( ); }

请编写类Circle,实现上述接口,用于计算圆与矩形的面积。

public interface shape2D { double pi=3.14; double area();}public class Circle implements shape2D{public double area() { double r = 5;double area = pi*r*r;return area; }}public class Rectangle implements shape2D{public double area() { double w = 4; double h = 6; double area = w*h; return area; }}public class Test { public static void main(String[] args) { Circle circle = new Circle(); Rectangle rectangle = new Rectangle(); System.out.println(circle.area());

System.out.println(rectangle.area()); }}

8. 创建一个黄色(Color.yellow)面板,通过add()方法在该面板中添加一个按钮,然后将该面板添加到一个JFrame实例的靠南位置,JFrame实例的背景为蓝绿色(Color.CYAN)。

import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;public class Main{public static void main(String[] args) { final JFrame frame = new JFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setLayout(new BorderLayout());frame.getContentPane().setBackground(Color.CYAN);JPanel panel = new JPanel();panel.setBackground(Color.YELLOW); panel.setPreferredSize(new Dimension(20,20));

frame.getContentPane().add(panel, BorderLayout.SOUTH);frame.setSize(200, 200);

EventQueue.invokeLater(new Runnable() { public void run() {frame.setVisible(true); } }); }}

import java.awt.*;import javax.swing.*;public class FrameWithPanel {public static void main(String s[]) {JFrame frame=new JFrame("JFrameDemo2");Container contentPane=frame.getContentPane();contentPane.setBackground(Color.CYAN);

JPanel contentPane=new JPanel(); panel.setBackground(Color.yellow);JButton button=new JButton("Pressme");panel.add(button);contentPane.add(panel,BorderLayout.SOUTH);frame.setSize(300,200);frame.setVisible(true); }}

*9. 创建一个包含一个按钮的窗体,当用户按下该按钮时,显示一个对话框。

import java.awt.BorderLayout;import java.awt.Button;import java.awt.Container;import

java.awt.Dialog;import java.awt.Frame;import java.awt.event.ActionEvent;import

java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JDialog;import

javax.swing.JFrame;import javax.swing.JLabel;public class MyExam14 implements ActionListener {

JFrame frame; JDialog dialog; JButton button; public static void main(String arg[]) {MyExam14 jd = new MyExam14(); jd.go(); } public void go() { frame = new JFrame("JDialog Demo"); dialog = new JDialog(frame, "Dialog", true); dialog.getContentPane().add(new JLabel("Hello ,I'm a Dialog")); dialog.setSize

(60, 40); button = new JButton("Show Dialog"); button.addActionListener(this);Container cp = frame.getContentPane();cp.add(button, BorderLayout.SOUTH);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200, 150);

frame.setVisible(true); } public void actionPerformed(ActionEvent e) { dialog.setVisible(true); }}

10. 若三角形的三边长分别为a,b,c,编写一个方法计算该三角形的面积。提示:三角形的面积= ,其中:s=(a+b+c)/2

public class Rectangle {

private double a,b;//a是长,b是宽

private double perimeter, area;

public Rectangle(double pa, double pb) {a=pa;b=pb; }

public static void main(String[] args) { // TODO code application logic here

Rectangle myRectangle=new Rectangle(2,3);

System.out.println("周长为:"+myRectangle.getPerimeter());

System.out.println("面积为:"+myRectangle.getArea()); }

public double getPerimeter(){return 2*a+2*b;}public double getArea(){return a*b;}}

本文来源:https://www.2haoxitong.net/k/doc/dfe2c00902020740be1e9bcc.html

《昆工 java期末考试题库.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式