|
西南大学培训与继续教育学院课程考试试题卷3 N) u0 o |' ]5 n9 R% ~
. y) H2 n5 ~# F# ~% L0 W6 l
学期:2020年春季0 \+ O% O+ S$ |- s5 H
课程名称【编号】:面向对象程序设计【0837】 A卷! ?% [8 G0 h6 C% s+ B8 Q# s
:大作业 满分:100 分
4 C$ v" C* E8 X- F% `% {, ^________________________________________
+ F6 X$ V; v- K) ?% L8 D& {9 M9 r$ {, I- @1 f
一、更多资料下载:谋学网(www.mouxue.com)(共10小题,3分/题,共30分)8 C6 [! z. I# V! `
1. 以下关于Java语言的叙述错误的是:( )
" W9 t0 m5 @+ [A. Java 是最纯粹的面向对象语言,对面向对象方法学的支持也最全面! m1 J2 |$ q8 x+ Q- o, S* V4 H
B. Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行
1 e: i) ^# G" l& L8 _1 |C. Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行! P2 S* w2 k4 c* M/ L, \
D. Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量6 N4 }8 [+ M& {* B; R5 a* B2 y: ^
2. 下列字符序列中不能作为Java语言标识符的是:( )
0 n' b: ]/ Q2 i( y: V3 RA. abc_123
6 l& ^2 m! o8 i* JB. 圆周率PI
. e z# g% b( t$ xC. false
- @! i+ Q1 n7 fD. _123abc& O/ o9 e; b7 }4 b) [0 k
3. 下列不属于Java语言关键字的是:( )
2 }4 _% [! |6 t' LA. repeat
" V9 ^& I/ R5 W0 Q' u0 ?3 G) [: rB. try
k" U) Y2 R5 M! k( BC. break
- z% r" E3 f7 S4 AD. new6 D$ I1 H! w3 ]
4. 设有定义 int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:( )
8 r% G/ `# m, y! mA. i = d;
1 y% ?9 h- v" J2 a$ s) B7 W2 q' ~B. i = (int)d + j;
9 K$ \* B5 H- h7 Y% B' K+ G9 w2 aC. j = (int)i - d;: v' P/ O& `# J' R! i& v
D. i + j = (int)d;
% K; n6 J- F, c5. 下列关于构造方法的说法中,不正确的是:( )
7 I9 T) ~$ ]5 `A. 构造方法用于创建类的实例
( A/ x3 v& x/ i& LB. 构造方法不可以重载' ^& i% l1 c% I
C. 构造方法不具有返回值类型$ Z8 c& M; i% Y) Z
D. 构造方法名必须和类名相同 k" N$ j0 X$ i: m/ }
6. 执行下列语句后,变量x的值是:( )
1 _+ n0 J( X/ z+ [3 @; Z2 j- x0 F. u int x=7, y=10;
6 S1 _( j0 m6 S, e7 b6 P switch( x/y ) { ' n0 X T1 f0 {9 w
case 0: x++;. Q# i9 z2 g* j) e/ A2 }4 p
case 7: x*=y;; ]! L. }( [: Z3 t2 [
case 14:x+=y; break;
$ A1 O- N& n `% p8 ]% y9 z! zdefault: x%=y;0 p" R0 {- Z, _8 {0 f) ?
}
- L9 A' B/ E+ N, `8 A0 Y1 kA. 8; |) o# E% A( D( S/ e( w x
B. 70( M4 s& m. C% b- d0 @
C. 80* _$ y( v- j$ U! i7 I3 _; y$ ` o
D. 90
; a6 o( i6 ?! q) z' |- i7. 下列语句序列给出了k,myArr和myMethod()的声明。当调用方法myMethod(myArr,k)之后,存储在k和myArr里的值分别是:( )
- }* U, [! I3 K6 `/ e& P; S: O2 oint k = 7;
! d7 ^. ]" F' q1 a# mString myArr[] = {“love”,“peace”,”and”};7 R7 Z$ a2 ^6 N$ U3 D
void myMethod(String a[], int m) {
' O" `3 h+ N6 I. N- `1 X String temp = a[1];
6 V) Y$ }& b" h) z/ G' A8 S a[1] = a[2];
/ }' @" x' @; W a[2] = temp;: ^# G* k* k# ^( h, A$ s+ a& ~! e
m = a[2].length();# s0 _% b4 | J0 I1 L
}
& W' L" k0 F4 U6 lA. {“peace”,“love”,”and”},4
' }* l2 O# Q, z6 UB. {“peace”,“love”,”and”},7: `+ ^% e$ P! F% A/ o5 ^. y
C. {“love”,“and”,”peace”},5
) G0 j2 d E9 ~- b" GD. {“love”,“and”,”peace”},7& l% q: I3 O+ T5 R( }7 U2 W! O
8. 下列语句序列执行之后,b1,b2,b3,b4的值分别是:( )
) u1 e3 W! O7 R9 J1 Z$ J2 oString s1 = “peace”;
* Z& n. k7 D6 ^/ b. j: nString s2 = new String(s1);
# e+ D/ g- s1 y2 g5 ^. TString s3 = s2;# }) |/ d: ?) g/ ~+ ?" H
String s4 = new String(“PEACE”);. B' ]+ K& h# y* A; C& d% ~7 F
; \. X3 R* G3 C+ ~9 a# Y
boolean b1 = (s1 == s2);; c0 d( H! X* @* T( w- V( |% F# y
boolean b2 = s1.equals(s2);
1 h- g: L, P: K# T; Tboolean b3 = (s3 == s2);
. L+ c7 I) N8 l# m0 r( Oboolean b4 = s4.equals(s3);1 ]0 \; e% u Y; h1 ?6 G3 a
: i% [! r6 m' ^( I) M4 {
A. true,true,false,false6 h. k. U( J0 P/ T! Q. W3 q2 g q
B. false,true,true,true/ [0 u% M, y7 N. k2 j
C. false,true,true,false K2 j% R8 m% N1 |: I
D. false,true,false,false" t l% x4 C- n! Z- o
9. Swing的三个顶层容器分别是:( )
- L3 J. l" K, x% ]! p2 G1 t" uA. JApplet,JPanel,JWindow8 R# P' T3 t1 m" Y' a, ?7 l
B. JDialog,JApplet,JFrame
- N. G9 {+ N9 s% M7 I$ ]C. JApplet,JFrame, JMenu
) j* a# _7 ~ z; `D. JFrame,JPanel,JTextArea
; l: w3 k3 |% B9 p10. 下列关于Java小应用程序(Applet)的说法中,正确的是:( )
9 d3 I% S6 P+ }; E) @' kA. java.applet.Applet类是所有Java小应用程序的基类 3 q {1 F9 K4 h; g- w' R2 j, j
B. Java小应用程序不需要编译
& p1 C+ j) l2 lC. Java小应用程序也需要main()方法
6 |8 L4 F1 y& _D. Java小应用程序必须实现ActionListener接口9 H7 u; _0 X! z$ i
' F9 |: E5 [" M& I% X3 W3 B
' h/ b: v1 i0 f2 K5 M二、程序分析题(共4小题,每小题各10分,共40分)+ Z7 m7 ]" g( s+ s3 t; a/ f
1. 阅读下面的程序,写出程序运行的输出结果。: C7 G M) ^" l8 G
public class Test1 {; a4 o5 j* Z4 L4 F
public int method(int n){1 w- y+ y, r! K/ M& n
int result = 1;
3 `/ D% L" Y9 d. z9 |2 g( S for(int i=1; i<=n; i++){
" @' g1 g# {* X: V' S result *= n;
9 r K c5 W$ t& V. r5 |+ s$ c }
9 O- b2 O" G' `: C return result;. T& e: t8 O2 h7 a! ?& s) S4 a$ \" U
}
5 {; e* ^4 c! C+ Y5 D& D& E5 A# |1 c public static void main( String args[ ] ){
) ^& y7 @+ R2 ?2 C D Test1 test = new Test1( );
H# e3 w! T% |% c int sum = 0 ;
) t2 D$ Y2 d' m, H6 p for ( int i = 1 ; i <= 3 ; i++ )7 E5 P$ k1 J$ T& c9 O
sum += test.method( i ) ;+ O8 u- O' ?7 |( G
System.out.println( "sum = " + sum );
3 s( A7 u; O( r! k}
' ?# _. e+ D1 u' D' d& E}* I/ n) Z; S3 e* i r
$ k# N! ?+ ]$ ~% Q3 N3 B
2. 阅读下面的程序,写出程序运行的输出结果。
$ w; p$ X/ I! }public class Test2 {
3 w6 U, ~& h. e public String method( String s ) {
n. u; A) K6 {! E StringBuffer result = new StringBuffer( );+ _1 p$ g& n( D
for (int k = s.length( )-1; k >= 0; k--) {
2 d; D4 C# q% Q: w5 H: z result.append( s.charAt(k) );
8 r: f$ U3 @( Y1 [) _( M } % J2 g. \' q0 ]. o! v
return result.toString( );
/ L3 I9 i; |8 ~( j6 ?1 Q! o }
0 P0 g1 |6 L# Y4 p) ~& o! G public static void main( String args[ ] ) {
0 {& u' D8 |; C& G Test2 test = new Test2( );, \4 F. Z7 F) m9 I* a7 U5 L
String str = "peace"; ! U/ N* e4 o! o+ p5 F
System.out.println( test.method(str) );
1 P% I l: U% a: U1 q2 i# ^ }# a3 L' `4 [3 c* g/ v
} t4 _8 C9 v% t
- T. L7 A! X, {, n& \" I% w
3. 阅读下面程序,并回答问题。+ s/ A8 O2 R6 ~0 T% j; z1 z2 y
class SuperTest { # o7 S4 C/ V8 i% ~
public int age ;& t& \5 P% e Q) ^- k2 |
public SuperTest( String s ) {
l, z! B9 Z' R1 ] System.out.println("Hi, I am " + s);
+ }. z- j; [: r, D/ d+ c- }' E age = 35;
* M9 n H& f/ j% U }
0 P% Q$ v) Y# F, ^9 Q}
" x* \7 p2 l8 q, o. m
6 f& M/ c/ q3 x# ~5 ~% Xpublic class Test3 extends SuperTest{
& f) @7 x3 o. c4 K& b- e. `public int age;% w: J' M x9 G3 W. _) P, D
public Test3 ( String s ) {
! s0 T M/ v' S, A* \ super( s );
, }( s4 |# Z% t) F0 w System.out.println("Nice to meet you!");
7 t# e1 b3 D4 R$ z7 t& j2 n# J8 |! W age = 7;+ \% ?/ N' G6 r5 f( l3 }
}
5 `9 A; Z. |- y
/ ]9 L" \' L! N Z. x- k public void print() {
) I8 X+ V- p F4 ~; |% \ System.out.println( "Age is " + age );
: v0 y9 `- A# X System.out.println( "My age is " + this.age );
$ i+ C/ g: b4 ]- f# R3 Q1 @ System.out.println( "My parent's age is " + super.age ); 4 w$ f) @% h/ z$ f/ B& v' J
}* _' t1 e9 W6 p$ U/ j" H# z
; o, t. D5 }0 T8 h0 F6 ^; D( b; _public static void main( String args[ ] ){ & B& ^6 v$ r% L; @( j$ r
Test3 test = new Test3(“Olive”);
, D5 M5 h3 Z5 Z: ~$ P! b( q* E) @/ u/ w, Ktest.print();2 ~, T6 Z7 o" p' i7 p3 D" T. ]
} 8 Z1 i0 n# i d! n
}
3 c' J2 b0 O( D3 z. v' m; _: A, H问题(1):类Test3和类SuperTest之间是什么关系?2 k: c2 p, ?6 |1 ^9 m
问题(2):关键字super和this分别是什么含义?1 P P) I/ g. \9 ^5 G& T: ?
问题(3):这段程序的输出是什么?
. F' V1 z7 }/ W2 S- a! H. b
- x5 [7 K8 {$ V4 H4. 阅读下面程序,并回答问题。, m$ e2 m7 a1 x
import java.io.* ;
, d! v3 D3 a+ u3 a# u! T3 _3 Z7 t( r m5 n) X) p; S9 \$ j" @
public class Test4{: V1 k7 q2 \ v( Z7 x, v
public static void main( String args[ ]){
# _0 F3 w5 l& U! I1 e/ S: G0 }! Z try {
+ I! x- k% y* `$ U6 @4 a2 z) ^ DataOutputStream dout = new DataOutputStream(1 {# D& l4 { i5 g1 q; _
new FileOutputStream(“out.txt”));
4 Q, m7 U& v$ A5 _+ w% A! f for(int i=0; i<10; i++)
; J9 Q5 B6 k% L dout.writeInt( ‘0’ + i);
6 [; K1 U$ g; a' T2 y dout.close( );
( l! H" D& r* W, Y
% E" S. u5 ?8 m! X DataInputStream din = new DataInputStream(
" }$ @8 `' d6 R& e. e" Hnew FileInputStream(“out.txt”));( u) e( ~0 M8 e$ Z5 b
for(int i=0; i<10; i++)
- g7 o0 I$ w- y+ D) V System.out.print( din.readInt( )-‘0’ + ”, ” );. ] c" x7 }4 v1 D h% I6 h
din.close( );, v# t; N% l5 b2 I
} catch ( IOException e ){
: [/ u" S. L0 r6 _& T# S" Z& E System.err.println( “发生异常:” + e );6 a& m/ H" V- @( b
e.printStackTrace( );
- W* |8 x) k% a) n0 k D6 \' q }& @( w5 \ ^) f6 V
}
* u0 Z5 d& }, g) B9 r1 q}
, L7 Y% Q8 M* M! q3 K* l& Q# |# B+ O3 w5 C- ?6 p1 K9 n0 K
问题(1):try块中包含的哪些语句或表达式可能抛出异常?
0 C! p2 V A" f0 V( }4 K问题(2):流DataOutputStream和DataInputStream常被用于何种操作?+ n$ B2 I$ O& w) k" S. b3 r
问题 (3):假定文件out.txt中原本没有任何数据,这段程序执行完成后,文件out.txt的内容是什么?程序在控制台窗口输出什么?
n0 }" s6 x$ L1 m1 i0 |/ j' H1 N- [3 s/ z9 Q' n% y
9 y1 F! S# Q* G# a! o( [. L三、程序设计题(共1小题,共30分)
' T( S1 F4 M, Q) s8 `编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件“score.txt”中。
8 x4 d* \, a. t) k% z6 z
) @: O% o8 l! p# x% k
; U. w: V1 ~5 X S. ]$ r
! S6 u2 k: c0 ]8 G6 z" N& f* R; w" v% ?) G
|
|