|
西南大学培训与继续教育学院课程考试试题卷
2 j% |: Z" _1 L
% W" j3 d$ k1 d8 ^6 [学期:2020年春季
! ^% l( p# u/ A' d课程名称【编号】:面向对象程序设计【0837】 A卷# B( I+ u$ G4 u
:大作业 满分:100 分
3 j( \* J3 z/ [! [" [0 P________________________________________
! F6 P1 A5 y. k7 V5 v8 z- K) x/ Z# f8 _% r) i1 P/ l& Q" v# ^
一、更多资料下载:谋学网(www.mouxue.com)(共10小题,3分/题,共30分)' i# P. `7 r; p5 ?: Z
1. 以下关于Java语言的叙述错误的是:( )
1 P) \: `! M0 y& w4 a1 ~. ~A. Java 是最纯粹的面向对象语言,对面向对象方法学的支持也最全面/ Y+ Q! C: u4 ]" x& y( e
B. Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行
7 D1 y; N% f, V0 t6 eC. Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行
; T6 b6 H7 g `# \D. Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量
) }- m+ _9 k+ X* A- I2. 下列字符序列中不能作为Java语言标识符的是:( )
! l* |6 b q* w( C! B* [. ]9 q; [A. abc_123
4 D6 @3 s# l; z! ?0 rB. 圆周率PI
6 J6 k8 L# T, YC. false
6 A, V1 h( G, [' |D. _123abc
/ J) n( ?% f# p/ Z* ^: q _% {3. 下列不属于Java语言关键字的是:( )4 |1 W8 ^2 E T- c* _4 w) z
A. repeat N( @2 F6 Q7 H+ c3 R
B. try$ g1 r7 l! R5 t- B( z k
C. break2 z. m; o) @4 a3 U! a2 b
D. new
4 f, X1 v- v; r1 ^3 l7 {1 C( {4. 设有定义 int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:( )
' \% c9 `8 y' Z) U* @+ h4 bA. i = d;5 U1 H4 ~$ d% g8 n1 O
B. i = (int)d + j;1 t: g9 i* b; |5 N
C. j = (int)i - d;1 X" \5 @% Z. h
D. i + j = (int)d;
/ l) g" r% P' e, m0 y2 _5. 下列关于构造方法的说法中,不正确的是:( ). `: _7 f- H, F$ Y% W3 b: p
A. 构造方法用于创建类的实例 / `7 E0 \- a, _2 }+ j
B. 构造方法不可以重载
& ?+ R& C! x/ B- N7 ?. eC. 构造方法不具有返回值类型
! i; u' M( |1 Q/ M* b; }+ p* ND. 构造方法名必须和类名相同
4 S! J" [8 ~# J4 H6. 执行下列语句后,变量x的值是:( )
$ [/ x( m, b$ g1 X3 \ int x=7, y=10;; b: j( L$ U3 ~: ?4 o/ y
switch( x/y ) { P% [! z4 h0 v! R+ ~0 l
case 0: x++;
+ Z- S) g/ T i* Xcase 7: x*=y;; y O: Y- I. J( @2 a
case 14:x+=y; break;
+ v3 E4 j# ^. `) s9 ~0 cdefault: x%=y;4 o) x1 O- g. d) _; J% G
}7 B0 P5 f# g S5 ~- S
A. 8. U @ ~( c, X2 L
B. 70
+ g6 ~3 E& s1 M8 Y8 dC. 80) N& X0 |( t2 I' E
D. 90
' m) _3 C; \+ O% V2 L4 s7. 下列语句序列给出了k,myArr和myMethod()的声明。当调用方法myMethod(myArr,k)之后,存储在k和myArr里的值分别是:( )
& W! R( j& G% X0 F4 w) a1 j( q( Yint k = 7;
) `5 a' W k- I0 D3 W } hString myArr[] = {“love”,“peace”,”and”};1 p$ P( i5 W R9 @. ^
void myMethod(String a[], int m) {. [" I- _! b* H/ e7 U
String temp = a[1];
! B4 a: v% |% O5 ~ a[1] = a[2];
( ]; A3 C' \$ L# x7 `; ~. N# _/ L Z- n a[2] = temp;( M/ m9 [. v+ B! N' C
m = a[2].length();
1 _, q: ]( {5 e+ |}
6 ~! w1 O1 m: i$ K! Y' F5 zA. {“peace”,“love”,”and”},4
- e9 j% e5 E" s2 N' V# n9 Q4 BB. {“peace”,“love”,”and”},7
( J% [- C* C g. q, H% J( yC. {“love”,“and”,”peace”},5
# m" `: K; K. s( Y. z' v: XD. {“love”,“and”,”peace”},7
" P2 U( w9 [* ~$ V# V8. 下列语句序列执行之后,b1,b2,b3,b4的值分别是:( )
/ |# [" t. k& J! [String s1 = “peace”;: G- x3 ^9 I l: d- Z" R1 B' A
String s2 = new String(s1);- H; E' r+ ]" G- ` [1 L
String s3 = s2;5 t1 d' U2 l3 a: d9 V
String s4 = new String(“PEACE”);
. R& t9 s2 a" C" a5 j) Q% A3 C
2 O( t+ T& o5 _( W7 I6 `boolean b1 = (s1 == s2);
: a, l" R; e3 E2 V& C9 zboolean b2 = s1.equals(s2);' \9 E9 A1 b* }: B: Q% L
boolean b3 = (s3 == s2);
6 p* T2 z% u0 Y' S6 `( H0 d; M( qboolean b4 = s4.equals(s3);
/ A4 L* M0 |; b" B9 s; a- w
7 }9 }( X( B) O# sA. true,true,false,false
; F6 Q& d$ {6 h% jB. false,true,true,true
, f: _$ K+ X b, R& UC. false,true,true,false) `4 J0 R+ D" ^1 f, `( [
D. false,true,false,false& t p8 k! ^6 Y% l8 F$ a) n% i
9. Swing的三个顶层容器分别是:( )
# |( B, k* S' L2 y w6 b# GA. JApplet,JPanel,JWindow
5 m# j$ J1 {8 B* ]+ x+ yB. JDialog,JApplet,JFrame
( _: P" ?/ U5 T5 k/ H6 W+ PC. JApplet,JFrame, JMenu
. m2 m" U5 S% A0 CD. JFrame,JPanel,JTextArea
9 O. f+ \5 v- B5 V, W; L) [10. 下列关于Java小应用程序(Applet)的说法中,正确的是:( )( p9 y; F) |0 {* P$ _ l& g
A. java.applet.Applet类是所有Java小应用程序的基类 : V' h+ Z7 P3 Z# c8 M8 g
B. Java小应用程序不需要编译
& w2 A. D' e- P6 b# ]C. Java小应用程序也需要main()方法 " Q: k: }5 ?% D& b( W
D. Java小应用程序必须实现ActionListener接口
" s3 Y4 Q0 H: k/ M! X0 F8 N9 s
$ M* h( s7 y/ T* i( t& n$ B! ]6 ]: y [2 k' f: w
二、程序分析题(共4小题,每小题各10分,共40分)
) k+ |: j* N5 Q5 g, F. l# J: O1. 阅读下面的程序,写出程序运行的输出结果。
: a: u/ S/ z' D% f7 `public class Test1 {
# k$ K% ^; _0 C" U public int method(int n){
' l& m: s7 j) Y8 Z9 i' F/ M+ _ int result = 1;) G! Y6 ~" z4 r6 ?- V! D
for(int i=1; i<=n; i++){
4 h" j4 y! \ u- f9 e) J( N result *= n;, Y) A ~- O+ F: P9 @& L4 Q
}
3 }1 U' a1 i/ Z6 y" ^; \ return result;9 e; B- c. G; H5 n5 [( `! g d$ Z2 D
}: h& h) L2 c( Z% A# b' [
public static void main( String args[ ] ){
" \5 h$ }& n6 k' D' P" A$ a Test1 test = new Test1( );$ d, J& r9 M# a" M6 H2 S
int sum = 0 ;
+ s" o. D M5 [! j9 ^ for ( int i = 1 ; i <= 3 ; i++ )
$ y% T& i$ R" M- U- i8 X- p sum += test.method( i ) ;
) M' T6 k1 _1 B5 W! Y! M" L# z System.out.println( "sum = " + sum );
7 Z: k5 i+ B- C}
& `# F# [0 g# S6 ?* j- @}
3 a5 K0 `2 B( I6 e& @1 r& X
2 F/ ]3 A' Y1 |8 h, ^: B$ z: B% W2. 阅读下面的程序,写出程序运行的输出结果。, }1 L) _ K! ?) `1 E1 _$ F/ `
public class Test2 {
5 `0 v6 K% d6 N' ` F) H: W- O9 J public String method( String s ) {
. H2 {& Q+ Y. I" C' Y; V$ E* d2 m. ? StringBuffer result = new StringBuffer( );$ q1 W' s# {6 N% j$ \9 U6 F
for (int k = s.length( )-1; k >= 0; k--) {; u: c ?. a$ O. r9 B7 U( b6 G- h& `
result.append( s.charAt(k) );. P2 p" N( @5 U d0 W
}
) \% f6 y/ ?. b# f/ Y+ n return result.toString( );
' K- d" q/ E9 [! [* u' F } 5 |$ d5 f! x9 m4 a8 L/ m
public static void main( String args[ ] ) {
$ x* O6 E& [" K/ Y% A( | Test2 test = new Test2( );# m' c1 R" u4 L0 ?: y
String str = "peace";
$ F* K+ u7 _0 q. R, I( H5 h, \ System.out.println( test.method(str) );
3 ~- E1 z8 m, `% a3 L }* h( W6 p$ l3 @5 ^
}
7 |& J9 h. @) g( S8 l* L& ~0 |( d" b: o4 g) f
3. 阅读下面程序,并回答问题。
# O6 E" O" m; U4 y( lclass SuperTest { # G7 S$ q8 Z" U" L2 @
public int age ;6 m% R% f1 Z$ C+ l0 l7 F. m6 z; |
public SuperTest( String s ) { P; d2 C' G a t+ J+ d
System.out.println("Hi, I am " + s); * Y( D; y! t% ]8 h6 z3 _
age = 35;
* w, ]% [+ n1 g3 K }
! `, [7 F1 F$ Q}
6 c: |0 O8 @" A, `& C* h; i, d2 ~1 l8 l3 J" o7 t1 z* ]: y4 R
public class Test3 extends SuperTest{ 6 i4 n5 `0 c& C) _% ~. d! u# o/ f
public int age;6 `) r. ?' K& \! u9 x
public Test3 ( String s ) {
0 F- Z: J6 ~2 O# P2 {, e super( s );
3 d; d8 D2 @$ a7 x System.out.println("Nice to meet you!"); A8 O" H. o9 t. Q
age = 7;5 v; ^/ X: c1 X+ c" L
}
, n1 T/ \( O! n! ?9 D
% g, Z; k' y3 w4 i public void print() {
9 |; N* I( q4 j3 ]+ U. j. ~$ v( P0 i System.out.println( "Age is " + age );7 {1 T. b% a* J# c( f8 m
System.out.println( "My age is " + this.age );
( t* _% ]$ w2 n6 Z2 k5 O System.out.println( "My parent's age is " + super.age ); 4 _- t' ]1 `3 v5 n, L& D
}
6 M- o r/ ]* Z+ z. ]+ L# A$ N3 g
; {9 C7 w1 F# S7 H/ C" ipublic static void main( String args[ ] ){
7 H2 d" ~. L1 h: W# B. ]5 I3 o5 x, A: G C Test3 test = new Test3(“Olive”);
- @$ {% Q B3 j6 I M3 Ntest.print();; j0 C |. d' m+ M
} 2 D6 q: p3 e$ ?
}+ I& e. E9 x, Y2 q" z
问题(1):类Test3和类SuperTest之间是什么关系?5 R5 t4 ^0 v) e/ N+ j4 ~
问题(2):关键字super和this分别是什么含义?
, O) Q2 W* b8 U1 e问题(3):这段程序的输出是什么?+ `! J4 A$ V! ~0 |& ~; T/ v6 \
2 K) B7 ]$ E: a7 _' n
4. 阅读下面程序,并回答问题。5 z, k0 }4 H0 L8 y; g, ~: s
import java.io.* ;) w5 E. O* ?0 s% ]
* w$ \' m! V. S( [$ P7 s3 ipublic class Test4{9 W+ `& \4 Y7 G( g. O
public static void main( String args[ ]){
- G1 ` I( @" a+ [ try {$ |4 I) @2 Q8 w
DataOutputStream dout = new DataOutputStream( _& H# c7 ]/ @& K
new FileOutputStream(“out.txt”));4 ]5 n. }' ]' s0 D0 I* e
for(int i=0; i<10; i++)
, h; ~2 Y6 @/ N7 Z# K5 s+ p dout.writeInt( ‘0’ + i);
: @+ P) g& V, s3 _6 d dout.close( );' @7 B0 Q0 V9 I |1 C
; }- a! C7 `* U! p6 x# u) } DataInputStream din = new DataInputStream(
% A: B- R% ?4 e0 t# O1 vnew FileInputStream(“out.txt”));( b& L# O' G' M; x3 G6 v- D& z
for(int i=0; i<10; i++)' g7 t: S2 B; [" \
System.out.print( din.readInt( )-‘0’ + ”, ” );
* [5 K& _) r( y- q- j4 z din.close( );! g6 C6 J K+ `3 i& P, ]
} catch ( IOException e ){& M% h5 D! g2 H& Q& S9 |" S
System.err.println( “发生异常:” + e );
( \( O+ ~. k- S" } e.printStackTrace( );' ]/ w; B4 ~8 V5 B
}
, y0 A: \* V. ~ }+ I: f- p; X$ r7 {8 a5 \, j8 h4 G
}# y6 T/ C8 v+ @6 T. S
# i- f+ M; d s8 w5 R2 h: O问题(1):try块中包含的哪些语句或表达式可能抛出异常?
! _1 T3 D! c% ^5 r问题(2):流DataOutputStream和DataInputStream常被用于何种操作?; D# s" Q! F; a/ r$ Y- }( u
问题 (3):假定文件out.txt中原本没有任何数据,这段程序执行完成后,文件out.txt的内容是什么?程序在控制台窗口输出什么?4 k' m4 C4 ?, \! \% _
! u, x5 q% F! R
) Z3 n K; z% C4 h( L+ g三、程序设计题(共1小题,共30分)0 Q6 g ?, |; M
编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件“score.txt”中。
) D1 C* a- Q- B; {9 a z' f, s5 G/ p
- |5 y: I6 }3 N: q8 q& L3 O0 v3 G' E# d& @1 ^
4 y0 `# Y* c/ c# d5 z1 M
) w! Z u$ S4 p$ S1 ]1 h |
|