|
西南大学培训与继续教育学院课程考试试题卷
$ S, g: _# K d& ^* j6 e
! m+ l: y! ?; I学期:2020年秋季 0 ^% d, Z. c% h
课程名称【编号】:面向对象程序设计【0837】 A卷/ }" \+ P, i& J5 S& E! A
:大作业 更多资料下载:谋学网(www.mouxue.com):100分
0 [5 v" G. i+ e4 ?& F7 l7 r% A+ O& y4 u6 B6 l7 q5 l1 A
一、更多资料下载:谋学网(www.mouxue.com)(共10小题,3分/题,共30分)" W7 r! \, l# n2 n
1.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序“一次编写,到处运行”的特点:( )
3 p) j7 u8 d j7 c4 A6 H/ o$ WA.多线程
0 Z9 @& j) v& \: _2 F. \3 N6 b' YB.与平台无关0 O3 w( J/ f; x6 A
C.面向对象
6 C* v" k& `; g7 S# [D.分布式; b; q3 x6 ^3 A4 l1 Z# [
2.下列字符序列中可以作为Java语言标识符的是:( )
8 U0 }4 Q8 e) n3 N4 q, K+ WA.true
+ }" C+ H* ^ X6 kB.123_xyz
, j! c3 R. T/ Y2 q# @C.x.y
6 o* i6 ~1 }% h! H0 Y( f. n$ I3 DD._x123
" R( O" r: Q6 ^6 T e0 F" q3.下列选项中,用于声明实现一个接口关键字是:( )
$ _/ ?6 A" Z; \0 H" |A.interface / W* n6 x. |) @& {& P" I. ^
B.implements" v8 u6 O, A$ \
C.import + w" [& g4 Z2 C' H! O
D.abstract. N7 h: g" z$ F% Y7 ?# r2 Q, r
4.设有定义 int i=7;char ch='b'; 下面赋值语句中不正确是:( )+ w& j7 W2 [& Q" B/ b `
A.i = ch;3 F. S' ^* i5 V4 @$ U2 c* A
B.ch = i;& `; A# M Z H) T+ |/ w
C.ch = (char)i;
' Q. b, `8 m; U5 B" X$ b! a7 vD.i = (int)ch;! f+ ?6 R/ ]: D4 J& {
5.以下由for 语句构成的循环的执行次数是:( )
. P" g7 g, L0 ^9 {7 c i for ( int i = 0; i<=0; i = i ) ;
$ X: T& M1 E6 |( w: A) c1 [+ }: FA.有语法错,不能执行
/ t; ?& e) P: m8 X: {/ g. fB.一次也不执行
* l& Z7 o. }1 \9 l- k% m6 V! mC.执行1次 + E8 ]4 T) [. o
D.无限次" [$ g$ b8 g7 ?* p% d6 ]& x
6.既能作为类的修饰符, 也能作为类成员的修饰符的是( ). b7 B) I I- |) F0 k) Z5 c2 z
A.public+ g: A7 h( g9 @+ [ [
B.extends
% s f$ h) l. B' W' ^, EC.void
f y* O! H9 {8 F' CD.private; r; Z( X! }3 a- E; U8 ] B; J5 G
7.下列构造String的语句中,不正确的是:( )' D2 I$ t8 f8 ]% m* R
A.String str2 = “” ;
8 A% |2 \' ?4 a4 \0 z( h5 PB.String str1 = new String( );7 u' R1 s2 _+ o: Z
C.String str4 = “” + 123;+ a( f4 k8 B `' }- ~' I2 n3 Y
D.String str3 = new String(123);
6 I+ Z- ^: x( R! L& t8.下列语句序列给出了myArr,k与myMethod()的声明。当调用方法myMethod(myArr,k)之后,存储在myArr和k里的值分别是:( )
2 j0 M" t% _* M# CString myArr[] = {“peace”,“love”,“and”};; O! E5 s/ E5 a5 n. ^' C
int k = 7;
9 {& @; q( H, l- M' N3 Y6 }void myMethod(String a[], int m) {
: e' X$ t: n3 ]" Z+ [( g String temp = a[1];/ `# o1 j* m1 Z1 h6 L4 ^. k
a[1] = a[2];
$ p8 x X. V7 i' ~, g a[2] = temp;- R, J" f- @ v& T5 w
m = a[2].length();. t( Q! a, G6 E% A* S v
}
% e. Z' P* _- M' cA.{“peace”,“love”,”and”},7
8 E9 E `) }+ e/ a* YB.{“peace”,“love”,”and”},44 l7 m+ h( f0 a- j: x. ?" g
C.{“peace”,“and”,”love”},7! }" B. x- f! }# S G5 \' u
D.{“peace”,“and”,”love”},4
. e: E3 E% p' p' G9.把容器划分为东、西、南、北、中5个区域的布局管理器是:( )9 ?( P6 l% M6 s$ s
A.BoxLayout( h2 }9 K) @- U7 w, }
B.FlowLayout
: U. I( _' j7 J8 f- KC.CardLayout: a$ ^% m. ? }- l
D.BorderLayout( b$ Q. M A+ `) N* i4 d
10.从开始执行到执行结束,小应用程序经历的3个状态分别是:( )1 L3 q5 Q5 ^1 h) f
A.初始态、就绪态,结束态" t1 Z( c* {- p% ?! s" H' Y9 w# L" j
B.就绪态、运行态,停止态: ^+ a( J- R: {6 L
C.初始态、运行态,停止态6 Q6 y$ o, [/ Y% Y4 T4 k, h
D.就绪态、运行态,休眠态
9 O \) m$ m/ D0 i7 [2 q& D& u( K6 |
二、程序分析题(共4小题,更多资料下载:谋学网(www.mouxue.com)各10分,共40分)* s R/ W! m& d8 y$ [7 C
1.阅读下面的程序,写出程序运行的输出结果。0 V+ s9 R- |5 B+ S* h. a6 l
public class Test1 {
$ D- J0 g8 `9 Z5 }; k. M5 D public int method(int n) {7 s; Y# P# h# s0 ^
int result = 1;' R( P; e) P6 t1 \4 t+ K6 G
for(int i=1; i<=n; i++) {
/ m, J$ `* W3 p' J% z0 `- E result *= i;7 Z& b( c0 [0 K( ]8 O0 i! _% z
}/ |$ s, t @) n
return result;
" G1 z5 b1 F }; y3 H: S$ `9 G0 h }: B/ U& j5 _+ R+ q
public static void main( String[] args) {
1 w& q) [* a% u6 [# N Test1 test = new Test1( );9 `1 @; x! A8 G: {( P
int sum[ ] = new int[6];
! E: y G: F5 D8 h/ p for ( int i=1; i <=5; i++) {
) i5 ^! F T, \( Q" y sum = test.method(i) ;* T/ B6 r' Q' f; q
System.out.print(sum + " ");* a# r* T" U' c; G
}( i0 k# l8 [- T# Q0 i
}' |3 a7 R% O \# [8 \4 U; r E
}
9 }' ~0 t' J/ K/ k3 u, V* p4 ~: K
2.阅读下面的程序,写出程序运行的输出结果。9 ]- ]' c& v0 L
public class Test2 {! x" t* e G2 m1 R
public static char method(char ch){. K: N; z$ v8 J- B1 _2 r, j
if((ch>='A') && (ch<='Z'))0 @7 Y* c6 ?' F" p1 D
return (char)(ch + 32); # j8 B+ L6 p; S6 S
else return ch;$ a6 B4 z% _. K* q' Q
}9 j" d0 Y& s6 v+ W+ g
public static void main(String[] args) {
7 N/ Z; D- f1 o5 p2 J x String s= "0123456789ABCDEF",s1="";
, P: t5 s% Q/ j3 B) W for (int i=s.length()-1; i>=0; i--)# M: q* e+ _) P% C2 g
s1 = s1 + method(s.charAt(i));
h! H' v# ~# ]. B) y& H System.out.println(s1); Q. E( i2 E: ] i4 L( {% X7 W: G
}5 Z+ H. r& E4 z! @8 b
}1 f+ k3 b+ X% L5 ?: Y4 w
/ x8 P$ G4 X7 R1 x& j! Y" s
3.阅读下面程序,并回答问题。2 ~; I, d' o @9 Q( k6 O Z% O
class Parent {# X/ s5 j& N" d0 h, E
public void printMe( ) {
; ?- R! Z" t# T3 N% L System.out.println("parent");
! R( k8 z W: k6 [1 k# ? }8 T4 b/ q+ P- v9 Q' D
}
]4 r# i* k; {5 G- N7 G, U6 Y6 o4 ^( n
class Child extends Parent {# a& t. o0 m/ f0 n
public void printMe( ) {
+ K2 c/ R1 d% @& V7 K3 o2 k System.out.println("child");
6 N0 W5 ~: R# |% H9 [; B }3 I+ i* X: ?+ D9 R% L6 w% X% a
public void printAll( ) {
$ ?/ ]' R9 C0 g Z" h5 M super.printMe( );) |. N1 e" G( x H# x, \8 V/ F: _
this.printMe( );;
5 N: |- Y& }* m' y4 O: z }
8 Q1 a- i( _2 ]! ~4 V4 m}2 u7 h4 r: M* m9 z, U
3 U" _, Q5 U& N4 u+ I1 A) x7 v" Cpublic class Test3 {
. G: r) v, P$ t# i5 {# g; F- B% G public static void main(String[] args) {
1 ^, z0 V& V& \, e0 \ i Child myC = new Child( );" R% f7 }& @3 M+ ?/ `$ Y
myC.printAll( );
! m" Q" q2 G. w* V) g7 U }/ H$ Q: s: V8 g
}- @0 J6 V8 E, l2 f
; z/ E6 a( T5 c' @问题(1):类Child和类Parent之间是什么关系?
: G& J$ T# X8 c* @. x' ]7 R问题(2):关键字super和this分别是什么含义?4 ]. P5 k, q- r% ?
问题(3):这段程序的输出是什么?2 Y+ ^( F( w- H1 b5 |2 `+ C
/ N0 I, q K$ V' K$ n4.阅读下面程序,并回答问题。
1 }9 ?2 ]/ Q3 a) u# z' H( S, p( Vimport javax.swing.*;
$ [( I+ ]. Q/ Q' N! ]; w* e0 rimport java.awt.*;
5 a# e) V1 F: f/ M/ `import java.awt.event.*;
6 p7 Q# L$ e0 j0 R5 L. }6 a# u2 Y6 [! s6 F! k& a, t a
public class Test4 extends JApplet implements ActionListener{
7 {9 ^- L9 _" O, w* S private Container cp = getContentPane();;! m0 ~% r4 c4 ?( c
private JLabel prompt = new JLabel("请点击按钮");
5 p* d8 r) p$ H- J% Z2 ^# J private JButton start = new JButton("开始");
1 F- O9 [& A; _9 Y9 h5 E' R private JTextField output = new JTextField(20);
* z5 w- T5 y V& d+ O) j# n public void init( ){
1 t) ~1 t0 m; `. H; @8 n cp.setLayout(new FlowLayout());; A# b$ q6 x t' G5 A
cp.add(start);, s7 K3 Y1 _8 E9 I/ s+ A5 L4 D
cp.add(prompt);
, Y3 J5 \6 r4 O# _. e2 h, C cp.add(output);# z9 v9 r8 n. Z2 V
output.setEditable(false);+ x6 l& V/ p0 i! k7 n2 p% w
start.addActionListener(this);
$ v( g/ X$ G# V" v+ @ }- u K+ Z3 ^; f; x6 M- r0 |
public void actionPerformed(ActionEvent e){7 `) g+ }& p2 E! g
if ((JButton)e.getSource( ) == start )
3 ` k t# ] p! X m/ y6 \ output.setText("好好学习,天天向上");7 A0 V' M Z7 H8 }
}
5 V |- J: E1 _8 @& E0 V$ s0 u: n}
8 Z6 M% H0 _' a! [, |; s8 K问题(1):Java程序分为哪两种类型,这段程序是哪一类Java程序?
- J) o! A! ?. |3 i) T/ H问题(2):这个图形用户界面上包含那几类组件?点击按钮后程序显示什么?
( k5 x3 Q$ z! X- d" S问题(3):ActionListener是什么?程序中哪个方法是ActionListener中的方法?其功能是什么?! @8 t4 z7 t! @( O: L
& T! E3 I* S7 V0 t0 J) Z
三、程序设计题(共1小题,共30分)
$ B( K/ q3 H& {( L3 e编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击“=”按钮时,在第三个文本框中输出其乘积。
, W- B" c7 s# f% t; c m, m1 u- g7 e
1 M$ C9 H; _7 k3 s2 B: x/ c, u
) C5 ^; x; K8 n$ I# U6 d8 A
: A% t1 y' D& D+ z F; H( v: x
' [! C: d: `. m# T* m1 b5 ~- A# j( B4 B+ P
$ p5 x& Z7 ]3 u- {6 |7 T7 ^2 u2 q# n7 N. B2 G) Z
( @# l+ K" J% ~" h& _
: u2 f! d; L& y; m( e
, `, ?" b; @/ R$ w* u5 c! x0 o! ?& U
0 F t; C4 {9 D
: H( Q+ U9 F7 n0 z
# \; y& o: d2 J& u/ B/ i3 c: [$ A, g
. R" R: x$ J, ]- j/ G$ B3 k
5 k* ]. W2 O/ M- i2 G5 I
$ f0 Y8 X6 I6 l1 f' {, a" J) S4 A
* \, D9 A" ?- V. S. p
1 F5 P7 U4 X( l) H7 n) k3 Z
3 A0 S. E n9 G6 D5 w; `
% Z+ ~) z q+ p x k: a% _( z
; M. g+ q: p( M) U6 w' Y3 r8 M; z" U9 Z
/ y+ ?5 E( t4 ^
/ S' N3 L; |' b4 q0 l7 G
3 @ B" N# g. w/ a! F7 {4 L) t9 R
/ z' d% Q9 ?+ p( ^
) q1 s+ N2 M' m5 `; B( U1 l6 L# L" H8 V( F! g
- d% z( M9 {4 W) U3 V6 t7 q; C' T1 ? P! t
$ `1 z( W" W7 z: F- M& M7 W+ k; W2 i
1 B- i* R: h2 _* P% X/ ~. S
' n( s7 @# n p+ z$ |. o9 J% E/ v0 [/ ]7 L0 @& L0 n
- Z9 W7 T/ l5 ]( R7 O$ p
|
|