|
西南大学培训与继续教育学院课程考试试题卷
' v- M; D. A, P4 S4 D
j# }# [5 w3 b- B3 H学期:2020年秋季
, H& j2 b8 M( O( N5 p9 B, W课程名称【编号】:面向对象程序设计【0837】 A卷
W: v9 r5 M/ D' l* P( A+ L:大作业 更多资料下载:谋学网(www.mouxue.com):100分
8 a0 \- r9 s) k' i2 w( H8 t2 p6 e+ s" N# a* z% h* @, j' T O# J7 n: T
一、更多资料下载:谋学网(www.mouxue.com)(共10小题,3分/题,共30分)$ j: k3 {* W% L! D7 T4 R6 i
1.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序“一次编写,到处运行”的特点:( )6 z& R& y2 S9 G4 D2 M) P3 y
A.多线程' ^% |! |3 S0 E% l
B.与平台无关
* _, o' c5 ]/ {" X3 c; FC.面向对象/ w; J4 q7 }% M- x9 [( C% i3 b
D.分布式
9 q- S2 E' N& W' B' p2.下列字符序列中可以作为Java语言标识符的是:( )
, ~# z3 n* u6 h) P& ~' NA.true
" Q) q, C9 [! k: cB.123_xyz
* ^8 k! T7 c OC.x.y
+ f' R0 O' }2 L7 h1 ^ n5 @D._x123
3 l7 Q9 f" k8 M' a3.下列选项中,用于声明实现一个接口关键字是:( )( h. o' R9 g$ R! E. ~/ v
A.interface
6 H+ j; b% _" b& z3 GB.implements" V' p/ o1 i/ @! S/ w
C.import
' U5 ?7 _: b& `+ H$ SD.abstract1 g6 w0 c5 N' r
4.设有定义 int i=7;char ch='b'; 下面赋值语句中不正确是:( )
) o% [5 X, B& P6 h& x# T* o0 L! aA.i = ch;% u4 [4 ?) J- Z# z4 e- b# y
B.ch = i;. @4 S0 t0 j; U0 p* q
C.ch = (char)i;4 `' h6 \* m" u6 ]( B# j
D.i = (int)ch;
0 [2 q; m- Q5 U1 J0 d- T" H" w5.以下由for 语句构成的循环的执行次数是:( ): H( X4 K0 y7 U B7 R0 n
for ( int i = 0; i<=0; i = i ) ;, A5 Q: a8 {# J; A V( S
A.有语法错,不能执行
4 u _3 c, o) V! l) c# eB.一次也不执行
4 }1 B0 _8 `) y% |; GC.执行1次 % f1 Q8 E/ _/ H. s# j
D.无限次 K7 ^/ I- a$ W7 H& p" E3 V
6.既能作为类的修饰符, 也能作为类成员的修饰符的是( )2 @1 t8 P" q5 h9 c, G: A
A.public/ `9 h o3 W7 e' T0 W" |" {
B.extends
* l& {5 O) N* h# iC.void # q- Y/ M. y% P0 ~7 M
D.private
+ k$ |: n( C7 o7.下列构造String的语句中,不正确的是:( )
; V8 u+ b1 H: `& F( ]A.String str2 = “” ;) S, G- a. q/ J3 ~3 F$ V
B.String str1 = new String( );# \6 i8 \' I; F8 O9 N* m. _0 A- X
C.String str4 = “” + 123;
# H0 M! e! j- Z, |: UD.String str3 = new String(123);$ ^& B* ^3 l4 b4 Z
8.下列语句序列给出了myArr,k与myMethod()的声明。当调用方法myMethod(myArr,k)之后,存储在myArr和k里的值分别是:( )
* }2 @5 N0 [2 u) N/ o bString myArr[] = {“peace”,“love”,“and”};
1 R, g9 Z# T8 x9 A8 Xint k = 7;
4 `, Q) W# _3 [void myMethod(String a[], int m) {
1 j& ]* m6 d, E6 z$ p String temp = a[1];
7 _; i c: E+ S# P. A/ x: e* P2 u9 g1 V a[1] = a[2];
/ O: y5 B. X* A, @4 F3 v. c: j6 i a[2] = temp;
: H/ v+ \* i; r& ?4 _( d m = a[2].length();2 Z9 W; {6 Z, N8 T7 `6 d. F1 ]- z
}! L( n# B1 f' T, M6 {" }
A.{“peace”,“love”,”and”},7
# I$ n+ G" `, R4 r# Y8 u9 }B.{“peace”,“love”,”and”},4$ T1 _, K8 @8 @. M& U9 o
C.{“peace”,“and”,”love”},74 h& I# F6 v7 k# H8 N: j
D.{“peace”,“and”,”love”},4
`( k. H, @( u. g. F9.把容器划分为东、西、南、北、中5个区域的布局管理器是:( )
1 l3 B- T. L; e% \$ GA.BoxLayout
( l" @. P* h+ m1 U7 gB.FlowLayout N3 U$ h k0 G: D8 }
C.CardLayout4 x/ w$ u% U7 N; ~2 Y B' q+ N
D.BorderLayout
4 h2 [$ u6 T7 w7 `1 \% }10.从开始执行到执行结束,小应用程序经历的3个状态分别是:( )
7 F3 b8 N Z+ x0 S" V5 eA.初始态、就绪态,结束态1 E7 m: P, `0 u8 W0 C
B.就绪态、运行态,停止态
7 @7 D1 @! t; X7 uC.初始态、运行态,停止态
& F0 h; K, G" ], [; L- B& ^D.就绪态、运行态,休眠态
: z6 R$ H* |) m! w. o# r, g1 R: @; R' Z2 \3 f
二、程序分析题(共4小题,更多资料下载:谋学网(www.mouxue.com)各10分,共40分)9 \' J% ?1 \- `! t1 C& M4 {6 G# f; \
1.阅读下面的程序,写出程序运行的输出结果。$ a$ N' S6 ^, w- `+ p
public class Test1 {# e4 O. E9 C) S$ h! m9 \7 F4 f! u
public int method(int n) {
' _2 A g$ u; O int result = 1;2 Z8 p4 C* @4 y6 Y8 o8 Y' e) u4 b
for(int i=1; i<=n; i++) {
, N, F/ _ C0 o$ S1 f result *= i;
5 Z7 I" f. }3 f5 X" a/ p }& _. G. d8 o* L+ y; C
return result;
( Q4 Z3 x6 Z2 R; a4 k }5 J- _5 [8 Y3 v- f
public static void main( String[] args) {
: ]- g# t9 J9 b! ]* n Test1 test = new Test1( );
) G @& {2 X* ^6 P& } int sum[ ] = new int[6];
2 ]- m. h: l7 U) l for ( int i=1; i <=5; i++) {5 E5 g' s2 s5 u, k& x. @
sum = test.method(i) ;' E5 z3 ? |: S+ T, Z
System.out.print(sum + " ");: R7 T4 J4 ^. f" H3 Z
}. j. ~% c) q4 r9 m- S
}. q( a+ J- \, j6 L j9 H
}
9 O( {5 w9 x4 t5 k' m7 Z- m7 V* `1 s" _9 C; e) d
2.阅读下面的程序,写出程序运行的输出结果。" a t- |2 \! J9 L
public class Test2 {. s& v0 e" ]( U8 y2 ?5 d" v
public static char method(char ch){, w4 U' R8 p# J' H
if((ch>='A') && (ch<='Z'))8 a! e5 v* \. B
return (char)(ch + 32);
6 g6 E3 a; K: b2 w$ ~8 i else return ch;
* f$ R! K; o( k) R+ O D! z$ K( M }
! F/ J3 S- i+ ~: X public static void main(String[] args) {
: J+ C# _% c! i b" ` String s= "0123456789ABCDEF",s1=""; * ^8 N0 m8 u' t# l3 h
for (int i=s.length()-1; i>=0; i--); ], y3 L2 D% {, g7 Z
s1 = s1 + method(s.charAt(i));
5 p0 s. X% l0 O3 Z System.out.println(s1);
; _: [5 I- c+ M9 M# K! u8 b: ~, C }) M6 Q p( p/ S) E
}/ k/ s* g- r2 f, n- Q
" X# ?6 R. c8 z3 w% l7 u3.阅读下面程序,并回答问题。
m ]# G0 |, J' }2 n( |' ^1 zclass Parent {
; W& g( J" K. c6 S0 o! [ public void printMe( ) { M# s) \( A) Y6 U( C7 v
System.out.println("parent");8 A9 f6 R% k, r {1 r
}/ \, [( W% v+ o
}
\7 u1 X* w, `" `- e5 o- H: @7 ]$ _
class Child extends Parent {
1 N z j8 g" O/ c* m8 t public void printMe( ) {$ V4 ` i% z8 w# G
System.out.println("child");
R8 d, F3 Y0 r# i" o& g0 b2 |' d/ L }
( K$ q% B5 E) p) C h public void printAll( ) {+ d9 n; @! s3 C0 P$ h$ c$ x! V/ ^
super.printMe( );! `0 `7 c2 p# L h0 X- m$ y
this.printMe( );;* s) J8 c0 y, c# [
}1 @" r% I6 B+ r( K$ C# E' |
}5 u0 u# s. h1 {) Q' S
5 ~6 a1 |2 @ s' ?4 Z9 Apublic class Test3 {
+ `* Y5 R* B8 C: }" i2 t public static void main(String[] args) {9 J: A, _( o8 U) i* k
Child myC = new Child( );/ k, \$ a( m, ]3 l: r* C6 d
myC.printAll( );
4 D- B; S( z3 B4 \2 {5 v }- b) N4 Z& u9 ^
}0 D4 P3 M/ g9 R
1 v& _; A. X- q& z( o: J问题(1):类Child和类Parent之间是什么关系?
6 V1 K& y5 |7 d0 o/ I8 g9 ]问题(2):关键字super和this分别是什么含义?$ k& ]' K$ e7 d' r4 W
问题(3):这段程序的输出是什么?
' W2 m- |: l. t* v1 _
3 e; y; U4 t7 P6 S/ p5 D0 p4.阅读下面程序,并回答问题。& A$ j0 T) j; | V" L" v
import javax.swing.*;6 ^1 _7 s2 q$ n: b; ?
import java.awt.*;
$ w5 {9 c, r: t& D8 P% Z6 Cimport java.awt.event.*;" @" W3 X, P! H7 [& U
?- p1 X8 J8 T6 U/ v6 e* @* cpublic class Test4 extends JApplet implements ActionListener{
& `" [+ E9 R5 _# ]' v private Container cp = getContentPane();;
5 L% J; ^4 S& Z# S; ?" d private JLabel prompt = new JLabel("请点击按钮"); # R# L: T# o& G$ p* X
private JButton start = new JButton("开始");+ W. K% P) e Y+ S t. }' v
private JTextField output = new JTextField(20);9 j8 G( l( |' \, H/ s
public void init( ){
) Z- E1 [! E6 c6 H( K cp.setLayout(new FlowLayout());5 I+ \( I& d; f6 a0 |
cp.add(start);. g) G k' |8 m0 C% V+ Q
cp.add(prompt);
! ^) B4 n5 O& s9 d! {3 {; | cp.add(output);
; J; A1 ^) \$ I' F' h( S g* W: e output.setEditable(false);
' d9 v& g {, L start.addActionListener(this);0 _: ?+ w4 l0 J& A
}* ~0 G& [0 o& g* [+ p) f9 L" d0 t! i
public void actionPerformed(ActionEvent e){
4 `' J3 {' f+ t' Z' e7 K/ \, [ if ((JButton)e.getSource( ) == start )1 i3 G; Z# y& }
output.setText("好好学习,天天向上");
$ U. W! w/ |# O. P }3 Y z j' _% D% q
}. S7 e# W5 w# i: |8 C
问题(1):Java程序分为哪两种类型,这段程序是哪一类Java程序?. L: L2 c6 a! i" T" G0 W+ ^2 ?. S
问题(2):这个图形用户界面上包含那几类组件?点击按钮后程序显示什么?! q5 G$ o/ k2 A" F: {
问题(3):ActionListener是什么?程序中哪个方法是ActionListener中的方法?其功能是什么?" K' H. I0 g5 Y! o" ^( x
8 `- u$ e% `4 [; R2 Q三、程序设计题(共1小题,共30分)
5 y+ T: U3 ^9 `4 z9 q5 H7 m0 l6 _编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击“=”按钮时,在第三个文本框中输出其乘积。
+ S$ G8 k' s% A
" c8 a R9 }+ `; }/ }; Q$ Y% m. T0 ^- }
0 w% _4 c, L# \4 |
. a Y1 |/ J8 s W/ e: f; X& k- ~
|) Y9 p. B0 s+ h6 S0 ]; P* p; @' ~/ r, q2 M% f
! B7 @ |. m( X8 `" L0 @7 ]; T% K
9 x, Z% D# g# V8 a
$ i" k5 V1 k5 _8 q. f
8 r- q" n z2 R% g8 h( G7 W! s
+ c0 z4 e; p% l( W4 ^6 M# Y5 D
$ W* L- R5 }" s! w
* Z/ [! t" f6 w& ?3 E8 s6 C4 H, l8 Z+ ^6 q# u
- D3 N9 i5 C/ H, }, y- f! ~3 A
i& C7 `( ]" } X+ t x
2 y `- A) f' x3 s
0 w( [7 \- w! e& o
3 \2 k1 H1 [+ S3 N4 Q( a& ~' l4 x: D
+ O. m) I, _! C- A" ]5 `+ C C
. f6 W- Y* X) f# p8 E D) Q0 T# p& W! F
4 _# H, w4 j# m' I; \4 F6 c& A
9 ?& ?) F! Z1 D- d
1 `1 I9 i' I. }# A; }
' p) R* k: j1 G2 f5 R; v+ V$ ]' \% `# p
N) J( {: {! v2 ]$ `
/ U; [0 }/ S" T5 U% G/ a
- O" r4 p; Q$ e1 w7 h" Y, Z5 R
% h4 j1 R, E2 _9 @4 H2 U. G7 p# \+ j2 w* Q6 }
6 V9 y& z) l# H* a4 o4 \8 |: P
& c8 m' Y4 _8 ^. C& w/ a2 y* g" [5 a; O9 S3 x: S9 ^; c/ @
; ]- o9 n; s0 H( Y# @
/ H- S; U1 S3 Q) V0 U/ m% [* z$ k% h% W3 g" ^' F
|
|