|
西南大学培训与继续教育学院课程考试试题卷
/ W6 Z! Q/ {1 R2 q; u" O( o6 G$ |- F% g4 ]
学期:2020年春季
1 L* o& Z; w. d7 }, r) X课程名称【编号】:面向对象程序设计【0837】 A卷1 L5 v' [5 u+ E
:大作业 满分:100 分, o! N" c: C" b# |3 o' @, l% E' T
________________________________________& {* v) h; n4 T" s
+ s+ W. \; {# R* b. J# q2 N# L
一、更多资料下载:谋学网(www.mouxue.com)(共10小题,3分/题,共30分)- w" F4 b4 x2 z: T/ d8 h* e
1. 以下关于Java语言的叙述错误的是:( )* S: o- ]1 f M$ P* x
A. Java 是最纯粹的面向对象语言,对面向对象方法学的支持也最全面
/ ^9 A4 k! c; T, R1 s. _ }+ tB. Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行9 P5 x& X1 o; N5 Z, ^- j
C. Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行
& f n% [5 Q6 C# }9 uD. Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量
! f& @: k9 @( y; {& f# F1 |% ^2. 下列字符序列中不能作为Java语言标识符的是:( )6 w, Y7 ^3 D, ]: |8 E
A. abc_123
5 E% }# t+ |9 iB. 圆周率PI
: D* J* u ?- _2 h2 TC. false
7 X4 q* B- _8 X; o0 q0 uD. _123abc
: f: y, k% c, z+ g9 ?/ ?3. 下列不属于Java语言关键字的是:( )
! s. D6 R$ l) F% X) y/ G; `A. repeat* p& A/ p. R$ {- T9 o1 e# g
B. try% Z: j2 b3 p P# m' [
C. break
* q& I5 V, A0 c6 B8 J- Q& Q- XD. new& n/ E, e' {( H
4. 设有定义 int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:( )
$ i2 O/ F; w) l( S# K% b( ~A. i = d;" p/ J4 m: H/ y9 P( ^
B. i = (int)d + j;
/ J/ F" m( e E4 ^* U/ ~% c3 `C. j = (int)i - d;
" u3 b6 e4 f0 Y e- ~* KD. i + j = (int)d;
- `. A6 w8 v2 N. c5. 下列关于构造方法的说法中,不正确的是:( )
, ]0 Q e: b( J1 ^A. 构造方法用于创建类的实例 0 I& @; w! y+ k
B. 构造方法不可以重载; b( ?- ~ v1 X
C. 构造方法不具有返回值类型+ X; f2 E. J& V, C3 y: l6 K6 d
D. 构造方法名必须和类名相同
! P1 Y$ I( F+ ]$ T6. 执行下列语句后,变量x的值是:( )# \+ ~, S' A" i# Y, l
int x=7, y=10;
; i1 D! {7 I1 ~7 w! \ switch( x/y ) { + h6 x! F( W1 x- i# Y! ]
case 0: x++;+ @ r: U5 g& n1 Y' p
case 7: x*=y;9 N: _$ V$ P" p; s( G
case 14:x+=y; break;) Q$ I: j& S: p/ O* `$ V" L
default: x%=y;
+ T/ ^! S7 ~7 S4 f+ S5 { }
* o5 K6 q9 X9 f/ t: T1 v- _A. 8
4 e w4 q0 e$ ~4 p! B& E5 eB. 70
8 X( y F7 k' `2 DC. 80" e5 o, ?8 \! e4 b! S4 h1 @! g
D. 90
* @& B% K7 H. ?+ e$ e( h8 x7. 下列语句序列给出了k,myArr和myMethod()的声明。当调用方法myMethod(myArr,k)之后,存储在k和myArr里的值分别是:( )6 p$ |7 Z% T( `5 ]0 a" A7 T0 N
int k = 7;
, s3 g- [, y5 WString myArr[] = {“love”,“peace”,”and”};
. F$ Y7 N% a4 N5 y& A) }void myMethod(String a[], int m) { A, E: h0 W$ p, T R
String temp = a[1];
# G& H# C6 w/ F a[1] = a[2];
9 o9 I9 T; d; v a[2] = temp;0 @# A6 v) k% q( A3 x5 F1 X
m = a[2].length();
1 M, \, \) J, p* o+ Y8 F}8 B) ]( D! ]( L' {
A. {“peace”,“love”,”and”},4
) A* o) k- _, k/ y" X7 VB. {“peace”,“love”,”and”},7- K8 V2 o+ }& W. h
C. {“love”,“and”,”peace”},51 {! i1 V; F8 Z# Z2 M0 [% B
D. {“love”,“and”,”peace”},7
3 g. P' }% K+ H' j9 y3 k# N' Z8. 下列语句序列执行之后,b1,b2,b3,b4的值分别是:( )0 L: [. s) Y% V% r5 a
String s1 = “peace”;: K% d$ s) F" ~5 h! W- V! b
String s2 = new String(s1);
& ]' x4 d/ O: q2 t$ w" Z2 XString s3 = s2;
& V0 d/ g7 r4 F4 Q) `( @3 X* ^: h: fString s4 = new String(“PEACE”);3 |+ x$ a7 m5 Z" T! _0 p
A g' O" T7 O1 v D0 Zboolean b1 = (s1 == s2);2 r6 A2 `4 W8 G; \. l
boolean b2 = s1.equals(s2); f5 w5 S; L2 A$ D
boolean b3 = (s3 == s2);
) O3 L) E; h9 ^* J' _( ]boolean b4 = s4.equals(s3);
% t1 f5 r0 n3 @ _
3 ?% a) t# N6 m+ U$ ?A. true,true,false,false: T) D& |. m2 ~9 ?/ p& g9 e. e6 [
B. false,true,true,true
X/ N5 }5 z9 H" O9 i+ F: KC. false,true,true,false
( b: z9 ]3 D9 lD. false,true,false,false+ Z b- H) y) F6 r/ a
9. Swing的三个顶层容器分别是:( )# v" M" v: G( c& K, D9 D0 J) z) s
A. JApplet,JPanel,JWindow7 w M; C7 i w! x/ @# b9 }- Y
B. JDialog,JApplet,JFrame
$ h! s3 f% g+ L9 Q. ZC. JApplet,JFrame, JMenu
, s3 r% C( a$ c% LD. JFrame,JPanel,JTextArea/ t1 y' g8 F" `/ u% ^/ @) f% h) p
10. 下列关于Java小应用程序(Applet)的说法中,正确的是:( )6 B1 a5 c2 ]% `" s: V2 {; a
A. java.applet.Applet类是所有Java小应用程序的基类
, Y% Q& T( ?& z, q! X% A5 K" C) kB. Java小应用程序不需要编译
# o( L, n4 D0 o8 aC. Java小应用程序也需要main()方法 4 [# l0 P0 I) b4 p1 R# O, V* {
D. Java小应用程序必须实现ActionListener接口4 T' m& a4 a7 k% ]" o6 l9 B
# b5 ^$ T& p* i, e1 x0 _
( R" |8 ~( ]" { K二、程序分析题(共4小题,每小题各10分,共40分)
' ?+ p6 z- L R, q% `: `3 b1. 阅读下面的程序,写出程序运行的输出结果。
8 s% b$ ?) L n# ?public class Test1 {
& E& h2 k: L& @! H3 i public int method(int n){8 l1 V9 F G) I t0 [
int result = 1;
# Y7 E6 R7 Y0 n' c for(int i=1; i<=n; i++){! u6 | |4 O! x w. W9 f
result *= n;
) d& X x/ f! W3 X5 d }& F, D, H8 o/ J) ~0 T- D$ e
return result;
' @& d# O, P% Y+ V- h" h' a5 l }( z) v4 a2 p' r
public static void main( String args[ ] ){! r1 V# I! p$ y: \
Test1 test = new Test1( );
: A$ L5 ~& a5 O9 l( H) H int sum = 0 ;
: R, V1 _( n; [7 s/ L* N0 S for ( int i = 1 ; i <= 3 ; i++ ); o2 a/ @* M" Q0 G/ d/ B5 \' B( T
sum += test.method( i ) ;* N* @+ K4 i0 m9 E5 H% Z- q% d! k
System.out.println( "sum = " + sum );+ l4 d. [' U9 u+ Y
}
1 l7 i7 ?* c8 F, X0 k1 @}. A' w. `' `" \# f9 G
* g! a9 A7 A1 l2 Y7 I0 _
2. 阅读下面的程序,写出程序运行的输出结果。" l9 J. B% J4 S" K) P
public class Test2 {+ l" T Q. T0 A Q0 P2 G, z
public String method( String s ) {, ?+ F: L0 P; X+ m
StringBuffer result = new StringBuffer( );
6 Q- C: b2 S0 Y) u. P. { for (int k = s.length( )-1; k >= 0; k--) {
. E9 l4 e4 \+ {% k4 ~4 y" a- T result.append( s.charAt(k) );- Q6 F9 O0 p; _! o* d7 W
} + v3 [8 `3 a, v# l
return result.toString( );3 C R' ~$ v! F
}
( ~2 _* \& e4 ~# N. g public static void main( String args[ ] ) {) W4 f$ t. B' T
Test2 test = new Test2( );/ S. Z- F1 y( \6 ~" n0 L$ f
String str = "peace"; 7 c9 [5 h9 I) ]$ S
System.out.println( test.method(str) );
6 j% m( p0 A6 U) n' S4 p& V% R! I. x }. a' b% t% }+ i3 ?- g: G
}
7 {1 M1 K- J, \; \) H9 N5 w2 L7 |* J6 l {
3. 阅读下面程序,并回答问题。
8 f& _5 f5 E* {: \9 L3 m& `class SuperTest {
2 {+ r& ?9 Y+ ~. q. Ppublic int age ;
o8 C- X/ b" hpublic SuperTest( String s ) { 5 u7 k; M* U, _9 f
System.out.println("Hi, I am " + s);
1 F6 V3 H% v( X7 N4 J7 u0 l age = 35;8 `5 J' a R6 A3 B
}
8 y7 m6 X+ P- R0 ]* p5 q; X}
2 G: H) G8 [* d) D' `6 I; e4 ?' V) [) t4 P. U7 X5 ~0 i- e; @
public class Test3 extends SuperTest{ & ?0 {- ]2 ^ v* _+ N$ p& Y
public int age;# G) I& h) v6 R: o+ }5 z3 g
public Test3 ( String s ) { % N1 M- g6 Y2 }3 i+ Q
super( s );
1 ~; n. Z4 o1 `: ]/ J' N, L7 A# m+ | System.out.println("Nice to meet you!"); : r" l- Y( G$ p
age = 7;" F$ [# C+ E8 c" |; {
}
) h/ \2 r: {* D0 v) ^; e5 z; r- {5 _" U* B
public void print() {
( C, S& h7 C: Y! m System.out.println( "Age is " + age ); }2 J5 f( m4 N0 x$ @
System.out.println( "My age is " + this.age );$ v; x2 h& T0 E
System.out.println( "My parent's age is " + super.age ); ' T0 ^4 N& c' S5 E( N. ]) `$ S
}. P8 G& B$ w' B7 i8 Y0 c0 y
% }5 |; y$ k$ R: O& ~, }
public static void main( String args[ ] ){ ! d& M& R8 f! r; i( @# Z
Test3 test = new Test3(“Olive”); & t8 n" V# t! a" U* I
test.print();* G' W1 v. d* ~! R- @" t2 R
}
& L8 ^. N- x% t5 C+ v6 s; ] m4 d}
, b8 c+ V5 _1 E$ w( f {8 G问题(1):类Test3和类SuperTest之间是什么关系?+ }! h% B' N$ p
问题(2):关键字super和this分别是什么含义?
. Z7 K( W' f; Z4 Y8 f! _/ `( I2 n问题(3):这段程序的输出是什么?) u: d7 |: j A& ]* G
5 z+ {0 F& q1 ~4. 阅读下面程序,并回答问题。/ N) g5 |. g P$ k2 C* V( V. @, x
import java.io.* ;
/ m# A% Z& U: X, T. |7 |: M8 ~+ E8 _& Y/ U, e2 ^& J# g
public class Test4{, g5 z5 ^/ }/ x. M2 N: ~0 [& y. F
public static void main( String args[ ]){
' p3 B- v4 r u/ ?& v- v0 n try {
U' z& K3 Z: G% }* l DataOutputStream dout = new DataOutputStream(
! ~! \. O+ P+ C' Y3 o0 L$ v: Vnew FileOutputStream(“out.txt”));5 u+ I' L+ J n0 { `' N# W
for(int i=0; i<10; i++)
0 ]" \ O4 g. G H( G, X. Z* m! x) Q) o dout.writeInt( ‘0’ + i);- S, o1 y6 p3 y* g
dout.close( );
( d! Z+ T3 W1 j5 q v9 [2 Y3 h. S9 K* g! q! K+ u
DataInputStream din = new DataInputStream(
- T3 j0 @7 d( P7 D. gnew FileInputStream(“out.txt”)); c; c J' H% j* |' u
for(int i=0; i<10; i++)" K5 H1 P2 A9 p! W. u7 L- o, o
System.out.print( din.readInt( )-‘0’ + ”, ” );' B9 Q9 s# P8 k: M3 {
din.close( );8 C) l" q' i1 ]1 t- P% Y
} catch ( IOException e ){
' g$ W! Q( C' T4 I" D+ w System.err.println( “发生异常:” + e );
5 g( B0 A! c+ ^) {: B e.printStackTrace( );
. b, w% J2 R x& g5 j4 \, z }
' r, O5 A' S- i+ H; i; r }
! \8 V/ f6 Q% V}
# ~' E: A* V, i/ q) g3 v" [) W Z% \5 @; n" g- v
问题(1):try块中包含的哪些语句或表达式可能抛出异常?: d/ ^; P2 x6 K. {4 O4 U
问题(2):流DataOutputStream和DataInputStream常被用于何种操作?& A n7 A, s v* G H* F6 {
问题 (3):假定文件out.txt中原本没有任何数据,这段程序执行完成后,文件out.txt的内容是什么?程序在控制台窗口输出什么?$ T3 [7 W: l8 N& o0 W6 @
. a+ [; Y8 n: h( E+ [: R+ o
8 p: X0 X0 m7 @7 Z% ^5 r3 @
三、程序设计题(共1小题,共30分)
/ X( Q+ _, S. D8 w编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件“score.txt”中。
) z9 u q4 G4 u* ^. u
4 a; v, _% v3 u, g1 p* d( e' K- D' e) g
7 ~4 ]8 U6 ^. b, h% @) g5 n) i6 a/ a# p
|
|