|
西南大学培训与继续教育学院课程考试试题卷! \9 \) U7 q( @; b9 L
' n. e9 _' Y4 ]6 a& x
学期:2020年春季
9 @+ D1 Y2 V* q6 L课程名称【编号】:面向对象程序设计【0837】 A卷" X/ m, V- G1 r1 X+ I1 n: C& L
:大作业 满分:100 分
0 N1 b2 O9 Y2 Z6 [: V* d________________________________________5 u" W% c5 |7 a0 i1 ?/ \; B( P
8 l- z7 @2 i2 Q, _* N% J一、更多资料下载:谋学网(www.mouxue.com)(共10小题,3分/题,共30分)
E+ b* F. Q8 f* O& T$ ?1. 以下关于Java语言的叙述错误的是:( )2 e3 i' S7 b' q% q: D4 z6 f
A. Java 是最纯粹的面向对象语言,对面向对象方法学的支持也最全面8 _* @' @! i+ y, D- n7 L
B. Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行5 @ a }4 I8 l1 {, x; k2 o& B( V6 R
C. Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行. |5 d! ]7 F/ C+ N ?- i
D. Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量/ C$ `( O. K7 G+ L* D- m4 e" f
2. 下列字符序列中不能作为Java语言标识符的是:( )0 x9 D1 ]7 j7 r3 n( G
A. abc_123
7 r" @. v% @3 L; b% D& m- S3 h7 }( hB. 圆周率PI/ J* K9 V- l6 ^1 F$ O# }, e
C. false+ p/ E' H2 \6 P" ]5 L# G9 l' f
D. _123abc
: m4 b% C5 B& X% b3. 下列不属于Java语言关键字的是:( )
3 h2 Y3 s2 J2 Q4 ]A. repeat1 b4 E. C% O) p7 s# s+ V5 W
B. try: n% q8 c# ^1 F' ~# A- p0 J; k$ `
C. break
- f* L- M8 _ L, h, N9 MD. new# w$ S0 {+ P. ]+ m6 H$ T4 L6 @
4. 设有定义 int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:( )
; a i% W$ ^2 `4 k( @A. i = d;6 r) x* O& S) p
B. i = (int)d + j;
2 n( o" J% v/ @9 HC. j = (int)i - d;
9 t2 ?( |: K8 q7 A0 V+ sD. i + j = (int)d;
8 J9 {" z/ \' k5 O$ h8 ? {& F5. 下列关于构造方法的说法中,不正确的是:( )
! `! |/ O. o& |A. 构造方法用于创建类的实例 . q6 r2 D9 A6 G* U) {/ g6 M' q8 ?- D% h
B. 构造方法不可以重载
* f# u+ |* O: pC. 构造方法不具有返回值类型. ]. N% K# _) @- e9 b- [
D. 构造方法名必须和类名相同
! _: \: J8 {1 g8 ?, f6. 执行下列语句后,变量x的值是:( )
7 ]2 _: b B. } int x=7, y=10;7 U& J+ t. P( g
switch( x/y ) { : q I' r; f0 P* L6 X* W! k
case 0: x++;% L) Z8 ~$ k7 m) L% V
case 7: x*=y;) l$ t* W; R: l4 L. F( C# h
case 14:x+=y; break;
7 b. Q6 H. ~4 I/ j/ f8 r" a# |default: x%=y;
9 E7 o. c. |5 t& u }
- a2 H0 e) [+ J4 H$ zA. 8, S/ w. y0 k3 R2 {& h. H
B. 70
) K; {6 M2 I {: X( \C. 80
0 Q5 `7 @3 Y& H8 \# ]1 w8 PD. 90
$ T/ p/ ]7 U, Q* I8 @" k5 `7. 下列语句序列给出了k,myArr和myMethod()的声明。当调用方法myMethod(myArr,k)之后,存储在k和myArr里的值分别是:( )% a3 @9 s) h* f; S! W1 k- e- G
int k = 7;
% S+ b& m$ g4 n7 [- Q+ m& @String myArr[] = {“love”,“peace”,”and”};" R, G2 }" `8 f/ c2 Y
void myMethod(String a[], int m) {
' O. `% b, n' t String temp = a[1];% j2 Z8 T$ K/ r3 x* Z! v
a[1] = a[2];: j" n- ]$ e! Q, H, }" j8 T' C
a[2] = temp;
5 e( R/ e7 `9 t1 N m = a[2].length();* {" Y/ M' m1 n8 \! p
}
) M! t, S4 o% `$ E3 D* w$ U3 fA. {“peace”,“love”,”and”},4
$ `) E$ A4 c- g6 t& @0 |# z: cB. {“peace”,“love”,”and”},7: F {: A$ J: L! Y
C. {“love”,“and”,”peace”},5( |* V& Z" Q3 Q7 j- _. q
D. {“love”,“and”,”peace”},7
* A' b+ I! o1 o! ?6 \8. 下列语句序列执行之后,b1,b2,b3,b4的值分别是:( )& @) T7 s2 C p* _$ F; t
String s1 = “peace”;" T. j0 I* ~4 D& a# ^" G& C6 p
String s2 = new String(s1);
( s# v/ n K& f8 d2 J2 p, ZString s3 = s2;
% d' ^$ B% N! |5 P7 kString s4 = new String(“PEACE”);. d7 h" y0 K! L6 m# W
" r+ c# z# ~8 l3 b/ Z- X5 `6 w
boolean b1 = (s1 == s2);8 E, C8 P' |; U; S, t$ `' ~
boolean b2 = s1.equals(s2);
& |* l3 T. I6 y8 x0 o7 j; g9 h# `boolean b3 = (s3 == s2);
2 F2 G' I" e$ \+ v" t9 J: j# F, Iboolean b4 = s4.equals(s3);: a+ Y2 F% q; G5 D
, V) A, Y& g" E4 E9 BA. true,true,false,false
) r: V6 w9 X: eB. false,true,true,true. q( _; P, e8 w, |. }
C. false,true,true,false8 U# _% e9 \% z
D. false,true,false,false+ U+ {# A5 ^$ v. k0 c# o
9. Swing的三个顶层容器分别是:( )" E1 L1 R3 w1 l5 _
A. JApplet,JPanel,JWindow+ V1 c- R; q4 z
B. JDialog,JApplet,JFrame/ W4 N: ~. Q8 c' g8 `
C. JApplet,JFrame, JMenu$ |/ B: k; i( U/ a! n0 [& k
D. JFrame,JPanel,JTextArea
4 g4 W( ?' V. P& C0 m1 j' D& d10. 下列关于Java小应用程序(Applet)的说法中,正确的是:( )
8 Z& q r/ W; c' aA. java.applet.Applet类是所有Java小应用程序的基类 " X' v# g& h+ Q# ]& o- w# M7 }% L
B. Java小应用程序不需要编译: D1 E' D2 _" T8 H/ M- V8 \0 h
C. Java小应用程序也需要main()方法 * w2 E6 G, A3 ~1 x" Q3 _
D. Java小应用程序必须实现ActionListener接口
5 [" h4 u: M/ J, h
( v. Z! i, x* z# T* H- Y1 b! } h* O2 i& n
二、程序分析题(共4小题,每小题各10分,共40分)
4 e# F' K: I1 D/ {1. 阅读下面的程序,写出程序运行的输出结果。
D) R5 l0 }4 F& u" Ipublic class Test1 {
5 W# [- i) g+ Z$ B% j public int method(int n){
: }7 P+ Z/ d: l G" J+ Z int result = 1;
( ]$ g. ^, v0 c+ D for(int i=1; i<=n; i++){
3 r: J. n7 M" _# b result *= n;# O! J9 @- L8 V3 B F8 g/ O
}' m3 ^8 a6 e; t# V8 A7 ]
return result;- K2 i! ^7 [ T. c/ u" m; I
}& P; s4 @; T; e9 e1 t
public static void main( String args[ ] ){; a% h7 W f* N" _6 S, u0 y: [
Test1 test = new Test1( );4 t. _) ~$ i- I4 v# H: c
int sum = 0 ;
* f' D: O( Y* o" R7 x+ ?" y for ( int i = 1 ; i <= 3 ; i++ )
5 M4 z* S% M l4 L( K+ u/ N9 }. e1 B sum += test.method( i ) ;
2 ?% q S) k% a- U z System.out.println( "sum = " + sum );
: n6 K0 J2 X5 T8 c8 Q4 |% p}, d0 x. g& V/ O3 K+ m7 \
}" y6 {" S* O, i# m) f+ z
& J, k! c6 j5 W G: H- h4 X2. 阅读下面的程序,写出程序运行的输出结果。
3 t+ d; _" ~0 X. M# X6 I$ f5 mpublic class Test2 {
# n/ w B- }- Z2 {) n) _ public String method( String s ) {# j* v/ r8 C- I7 @
StringBuffer result = new StringBuffer( );
* c f1 \8 }+ P4 T9 L for (int k = s.length( )-1; k >= 0; k--) {
& ]0 z! e# y! y6 Q) k result.append( s.charAt(k) );
2 L: p" ?( c. j* Y: v } 4 g: t- E Z' [5 M9 r
return result.toString( );2 d8 @$ \3 a' K: p4 ?. W6 E
} ' C: `% j* ]; R% B' H4 L! w* R0 r- c
public static void main( String args[ ] ) {* g6 w; B5 T( [; x
Test2 test = new Test2( );# U- o' ]! m( h# N) } O& n
String str = "peace";
# ^5 {0 l( V$ A System.out.println( test.method(str) ); 4 N; K0 K/ r6 X; A$ C+ E3 |
}1 B) W. G- U; ^
}$ B! ~3 {2 t8 q5 s6 ~2 b
: R0 J- D$ Y/ x K$ t3. 阅读下面程序,并回答问题。
2 V0 Q- ?# J7 cclass SuperTest {
0 K- a/ C. ^1 ?8 c1 Rpublic int age ;
8 \ [" C; h7 N1 A+ Ipublic SuperTest( String s ) {
& \6 w' N' z F/ o7 J System.out.println("Hi, I am " + s); . d! Q' ^+ ~9 g: _
age = 35;) w6 s' Q4 f5 A7 _) @: Z9 y
} " j9 ]9 w8 y& f! E! }9 Q
}. [: F% O, l, b: b- y" t
* V2 M6 R3 J* M M, [public class Test3 extends SuperTest{
* L0 ^' Y' U; O1 b, a$ Npublic int age;
3 `" a5 B7 l# n1 r' Zpublic Test3 ( String s ) { * p9 u5 V9 o# j) e, w% ^) @
super( s );
, g! B5 G, S- C/ R System.out.println("Nice to meet you!");
1 n( U* a+ ^& w# q age = 7;; u- f) x) l" r9 d U& B4 |+ H
} + t8 \ D4 c0 e: X
k! L$ e3 g. h- L' U public void print() {
$ R0 K5 ?* H, x" k) y1 g. D System.out.println( "Age is " + age );- }2 ^* F2 y6 e3 Y* f
System.out.println( "My age is " + this.age );- S, w1 y" w$ E) U A) Q0 m& j
System.out.println( "My parent's age is " + super.age ); 5 R) E% Q. h4 u8 D7 l" f1 a
} ^! O0 |( K" a( m
1 W" O; G/ g0 b5 tpublic static void main( String args[ ] ){
}5 z, X! r1 c7 P z M Test3 test = new Test3(“Olive”);
1 Y) i9 {6 } Q0 p; ntest.print();
, V: r% j+ S4 e% h2 }: }} 0 w! s0 y) C" I2 X
}
B2 j4 J; Q0 s8 p问题(1):类Test3和类SuperTest之间是什么关系?
, ]$ F/ C7 j/ G1 N) N+ V R" ]问题(2):关键字super和this分别是什么含义?
! B6 _0 `2 C- w; W' a4 k' A. \问题(3):这段程序的输出是什么?! F5 {9 n) v5 ?* z- q- G
6 y# f1 J, Q, P: Z* i
4. 阅读下面程序,并回答问题。" f& L' o6 {* s
import java.io.* ;
" A9 @( O+ f: f1 G0 U' \* ~* j0 G
c- E0 p0 Y, v: @public class Test4{ A' L/ ]9 s: v3 W0 Z( ~3 e$ m; b6 y
public static void main( String args[ ]){
# b* Q( _4 r1 T1 y6 s: L try {
: j4 G }% r0 `: A4 O DataOutputStream dout = new DataOutputStream(( {+ B" g+ e7 \5 b
new FileOutputStream(“out.txt”));
9 `) Y% e t- b4 r$ G for(int i=0; i<10; i++)( \' [7 E5 c9 V5 c" o) b8 A' J. C- C3 c
dout.writeInt( ‘0’ + i);! L# A6 x3 |! B0 e, ^, D
dout.close( );! {) L# d2 @& n w4 {2 K3 f: Y5 z+ k
: |0 m* U1 r+ }9 V+ b
DataInputStream din = new DataInputStream(! H' f* {5 n* b0 l( E+ M) y
new FileInputStream(“out.txt”));3 [+ w& R4 {8 |, i
for(int i=0; i<10; i++)) H$ V) T% U3 F4 J
System.out.print( din.readInt( )-‘0’ + ”, ” );
9 s* A e* Z3 i v; g9 T$ F din.close( );
* q% |+ H( P0 |0 Y1 j } catch ( IOException e ){
/ f2 ?+ ^2 n, ^6 g% X System.err.println( “发生异常:” + e );3 _: J9 y" H; B( v, ^8 i
e.printStackTrace( );5 M! T+ ~5 c7 m9 O# ?0 B
}; a. {( F& ~$ ^
}
2 z. F2 B6 b- E% g}. h: |' g/ x- ~/ E7 o
: {9 ~+ ?8 `: ?" c A
问题(1):try块中包含的哪些语句或表达式可能抛出异常?
6 r ?) c5 H$ U! D5 U问题(2):流DataOutputStream和DataInputStream常被用于何种操作?
* {9 f# d4 I r8 h/ S2 C问题 (3):假定文件out.txt中原本没有任何数据,这段程序执行完成后,文件out.txt的内容是什么?程序在控制台窗口输出什么?
7 z% H0 ?9 |# Y$ A4 ]/ z) f! N5 ^) V
1 V7 b4 Y0 `& i! g: T/ N9 `
三、程序设计题(共1小题,共30分)
r J! w9 H: v6 x编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件“score.txt”中。
: T1 e, G" X8 j+ o/ P% H( @! Y7 t3 ~0 l$ d
, D% {: ]# G- S# h) M
O, }% O7 P- e
/ H8 b9 C/ N) t0 T) O/ z
|
|