该用户从未签到
|
- import java.applet.Applet;8 W6 i0 N3 q% G% I
- import java.awt.*;" ^1 Z5 U9 H5 s- x. y' C* R
- import java.awt.event.*;
9 F( W; p, L5 d - import java.util.*;9 D# r) @) n. _+ i( T
- import java.lang.*;' H( h0 w0 u4 }/ b7 f: x( q' H4 g7 j
# E5 U; a/ o7 |- public class Students extends Applet implements ActionListener7 o* x, U/ o: o
- {7 S6 A. C, A: J' r1 F
- Vector StuInf=new Vector();3 ?+ Z& A6 o% }
- StudentInf SI;- |% q5 `+ d/ g! k
- String xm;) q* z1 W. w K% r- i$ i
- String bj;
~, C. t4 o& R4 F6 o. Y2 O) D - int i,j,xh,cj;
( r# v1 Z \: l; `9 H2 a2 v - static int mid;
8 G3 H# ]* D4 q* S5 ]" E' D - Label prompt1=new Label("学生成绩管理系统");
8 h3 D+ P" Z+ ]1 A l - Label prompt2=new Label(" 用户:");
' S: h# w% c. ]( F0 Q - Label prompt3=new Label(" 密码:");0 w k* d, p. Q$ A. r e
- Label prompt4=new Label(" 班级:");
, [/ V5 Z: g! Y9 |* {5 d. } - Label prompt5=new Label(" 成绩:");
: e) t- \4 f, o" v. u @ - TextField input1=new TextField(8);
7 ^- Z l, ?3 I* g& S2 r; _ - TextField input2=new TextField(8);+ ^6 g1 N% Z9 \, S1 }# z! F5 H4 S
- TextField input3=new TextField(8);
- n. t! a! E) L$ R- [ - TextField input4=new TextField(8);
3 W- j y& @1 p$ T( d. k+ U6 y - Button btn1=new Button("登录");1 x4 \$ X2 g- b3 e1 |1 Y& [
- Button btn2=new Button("增加");- z8 T: v" U# Y* c- q
- Button btn3=new Button("修改");3 L. b' D: R' D) K/ ]3 ]# R
- Button btn4=new Button("删除");2 g+ I' e' c I3 P ]: I
-
8 C: ^7 ~% P4 u+ V2 p - public void init()9 R i$ _$ o* n3 i1 T3 ^2 l* I
- { Z @1 G8 Z4 j$ P3 i6 Y7 t
- setLayout(new GridLayout(6,3));
. j* J7 l% o/ K- e: y+ W( w - add(new Label());
6 ]. ?# A( t6 p) F+ S ^' |3 ~3 P4 Z/ a - add(prompt1);- k- c% U3 i& z' ]+ u
- add(new Label());
9 X- U8 S* c0 G, ~* u - add(prompt2);
( J+ v" x/ ]: o- a( C* O g7 q - add(input1);1 Y S1 m M& v$ q$ @* B
- add(new Label()); {3 F3 g- N# Q6 Z4 w
- add(prompt3);
8 O; G1 g3 d) W1 K6 f5 B% G& g - add(input2);" P# g8 @" w& l) |5 I. b
- add(btn1);
2 w* v$ g: B: e3 p3 I - add(prompt4);& E5 b" X5 C- O3 X; E
- add(input3);
" [ q% }. Z z5 o$ k - add(new Label());
( `; z9 W3 B- |$ L - add(prompt5);
0 y/ f8 E6 J. U: K - add(input4);3 ]& z& Q/ x* {- o% R3 ]
- add(new Label());5 @) z' y3 J# Z$ \2 A$ j$ J
- add(btn2);- i; P0 o0 x, ]) `9 c
- add(btn3);
/ v- q: Z# p9 _- n# b - add(btn4);
" N+ x. e, M& F2 N$ I8 J: m! j - prompt4.setVisible(false);
+ E, [) c! b6 E+ T - prompt5.setVisible(false);
% e4 H$ @, F) O' b$ N# V - input3.setVisible(false);- k( W2 t0 r! K. E2 S
- input4.setVisible(false);
' m. c. }) @0 d+ r3 }6 \9 q4 i - btn2.setVisible(false);" U+ I% @$ Q4 s. j8 `3 @
- btn3.setVisible(false);
1 [5 m, P8 G2 C - btn4.setVisible(false);- r: J4 {' G5 k/ S
- btn1.addActionListener(this);
& P2 C8 j* r; w" w8 }. v - btn2.addActionListener(this);0 }1 u6 V9 t2 r7 D: r: ^, M$ e. S- u B
- btn3.addActionListener(this);5 Q2 B# n; [2 N6 ^% t+ {
- btn4.addActionListener(this);
! k+ w2 M: g' t& k. V: x- f - }
' t+ V) G1 F& c+ ? - public void actionPerformed(ActionEvent e)$ z% r# u* `7 ? ^$ E- a2 A" C0 o
- {7 ?4 D1 k4 ?$ w4 Q. S: G
- if(e.getActionCommand()=="登录")& \2 x- @$ M, {* ^" S4 _* }' z
- {
; S6 `. E; k& B2 G - String a,b;( |$ u/ m# W; q1 X1 ]: O
- a=input1.getText();' n$ ]# ?) Y7 x; o% Z( K
- b=input2.getText();
# |, Y( J& y7 W( f. n. k - input1.setText("");
$ f' l4 f7 Q% `4 \8 Y+ _& o* ~ - if((a.equals("12")==true)&&(b.equals("12")==true))) L% m; _ H3 J2 O
- {+ Q8 F3 ?$ w: H# M/ f
- prompt2.setText(" 姓名:");% \: h; K% ^7 J, f
- prompt3.setText(" 学号:"); " j' }# l. o1 O. C+ ^0 J
- prompt4.setVisible(true);
' l5 r8 j. M6 Q7 c, ?. ]6 | - prompt5.setVisible(true);% i- i3 [8 y2 Z O
- input3.setVisible(true);
7 v9 B- J) T& i1 C+ W- R% R# u5 z7 s' J - input4.setVisible(true);4 F; z6 d! O: U, T' U" i
- btn2.setVisible(true);
5 a3 F2 g$ c$ }) h$ e( C - btn3.setVisible(true);
& g( @- G: H/ U; b - btn4.setVisible(true);! _. D% [) `6 w+ }& M) ]- }; D
- btn3.setEnabled(false);" l) l: k) B- ]% y: _8 g/ y
- btn4.setEnabled(false); B3 z" h# c! {) I, V1 r+ k$ ~
- btn1.setLabel("查询");
* c, t. n. O0 | - input1.setText("登录成功");
& e4 A, D+ y J! y5 h: s - input1.selectAll();/ c) v2 {0 c- F$ I- {( A. \$ U
- }! ?4 C+ Y4 t6 Z$ @9 u
- else3 e$ u, D) L( @: O! O0 T5 E3 A
- input2.setText("用户名或密码错");
) g, q) J) D5 X; E# X - }* R* U' c/ K: R$ G, p, z( Z1 o
- if(e.getActionCommand()=="增加")
2 g& ^4 _- @/ Z1 K5 _" U - {+ \! f% f% ]: A9 j4 b6 G2 ~
- boolean scucss=true;
$ p7 J" t1 J/ m+ Y! U$ D - try
! U# {2 o8 s3 O- o# y - {
* [* C7 U) }! t2 Q4 {/ F. N: m6 x - XingMing();% q2 P- a( A! E$ V8 q% A
- }2 {1 q5 b$ @: {5 W/ j
- catch(EmptyException as)
) ?& G6 F e- g3 B/ { - {7 H7 R$ x3 Z! Q2 M3 O
- input1.setText("姓名不能为空");% A3 i) o' r" I& W
- scucss=false;
. ^% C9 X3 ]$ z( O$ n0 k - }
7 o- J; m8 `( @- h - try' I6 k1 \' z' {
- { H! I+ `" o6 c& T+ `
- xh=Integer.parseInt(input2.getText());1 u t' R: Y+ V* d
- }
* F8 K( Z$ h0 a4 o; X - catch(NumberFormatException m), S) m" T9 r! A, O4 V
- {% T/ i* P0 d0 a* A' E9 x h
- input2.setText("学号为空或格式错");
0 q; Z+ ~% X) O I/ _' D - scucss=false;
: N. w) J$ u* m9 h5 p2 t - } $ k' c/ N. ]+ q* O* u! U: I) Z
- bj=input3.getText();
7 M. b$ ?: \/ r+ e - try
& |; j& R4 ?3 ^# j - {
+ T2 Z! E6 L3 w) f: n - ChengJi();# G% U2 n6 c* o. {* j# `6 m
- }( R* E/ Q4 B9 r; z( R, e: R2 m! L
- catch(EmptyException as)
, H9 b1 }% J7 s4 U- N - {
9 q3 q' b* D7 D2 `. n* w/ g - cj=-1;9 u0 s e6 V8 q5 L: x; [
- }
, ?. w; ?* x! @+ ^. w - catch(OverException dd)
) ?- s$ _& J& K3 k. H: M - {) T6 v4 q/ s% Z
- input4.setText("应在0-100间");
: {5 x* y- a' k - scucss=false;$ K. I+ q8 d! D6 G: P& B+ N
- }
9 S8 p% ]# q2 c q; c - catch(NumberFormatException cm)
$ y& X% X& V1 a1 V* D3 \ - {' q9 c1 @4 X! I
- input4.setText("成绩应为数据");/ S. P; Y! m, D/ N% S
- scucss=false;
; u2 P5 x" {5 Y, B$ e4 C1 [ - }
) Z% |! R2 f' l& [ - if(scucss==true)5 t* G; Q( [/ E7 Y0 C$ T" G
- {1 C" ?- m/ z" F/ T0 I `. T5 @0 }
- SI=new StudentInf(xm,xh,bj,cj);
2 J& h/ }, g+ ~, N/ l& z9 Y' C - Insert(SI);, r/ k5 @" f" J9 F
- }
, q; L H9 ]! B8 A- \ - }
0 e7 T" c4 H2 a; W7 I5 G# Q# z - if(e.getActionCommand()=="修改")% ]8 a/ |3 i3 m: m# R. v/ d+ R
- {
% d. z' n. A, a( @6 q. |' G/ O4 h - xm=input1.getText();
, o' _5 Q6 r! R8 F r$ y5 i. C - xh=Integer.parseInt(input2.getText());
: `) @' `- Z: _ - bj=input3.getText();- _, \$ ]$ K- j$ i! _0 V
- cj=Integer.parseInt(input4.getText());+ O6 [: R5 F3 N$ {5 C- C) q+ N
- SI=new StudentInf(xm,xh,bj,cj);3 P0 k. \' H7 w* a
- StuInf.setElementAt(SI, mid);
8 Y6 J* m: Y# G* H% e5 ^' v! ~" ? - btn3.setEnabled(false);9 H$ W6 U4 O# z! Y
- }' S, q. _7 r$ @
- if(e.getActionCommand()=="删除")0 y( Q6 }9 `. x9 H2 O$ ?- |
- {
/ g" Q+ e* F& q+ H - StuInf.removeElementAt(mid); 6 l1 z9 O, }' g7 P. Q
- btn4.setEnabled(false);6 s0 C5 H# i0 s! I8 G
- input1.setText("删除成功");
0 |& T) F- M! ^- U% |% l% l; a. J - input2.setText("");: |8 \, d: ~0 v2 O
- input3.setText(""); g6 {" @2 h" D( }0 Q+ q" D
- input4.setText("");
4 y3 `. O& @# ` z% m - }
+ C. Q4 e% Q5 f# C) b( j( c - if(e.getActionCommand()=="查询")
* g( j% h' d6 m \ - {) q# e" Y J- C# t6 p) P
- boolean right=true;5 y/ t* v% _% U/ g6 @
- try8 y0 f; B* ^6 O- H; ]$ n& |2 {
- {/ b# |" X1 H4 |+ [# [
- xh=Integer.parseInt(input2.getText());
% J% l) u$ F/ E# o/ L/ G - }# ?# m8 O. Y1 X, d* b" P4 u* C
- catch(NumberFormatException m)
* O' d! I6 [1 l/ I% o - {) Q0 [( ~) X6 C" j
- input2.setText("学号为空或格式错");
. m3 Q' @. \) C t - right=false;8 V2 [5 h0 ~: o- n4 H2 s
- } 8 T* ]& R: Y! `) f6 |7 M, V. x
- if(right==true)5 h+ f: O/ X; ]0 D2 D4 z8 X% Y, R9 B
- {
2 f6 b: R0 r' o3 L! U - search(xh);& j! h# n+ W! Y$ \+ L" q0 Z
- btn3.setEnabled(true);
- M h0 [0 C+ H" x - btn4.setEnabled(true);$ l0 z& s! `6 m( F+ n
- }$ A7 @/ Y7 \! [$ O- B
- }
( Y# x3 r7 K7 r, a# y - ( F% w4 y V! X
- }* n) d' T3 e- s9 [" X: C- J
- //查找方法
$ _' t' h- [* d1 q1 j - public void search(int k)
! R0 V8 P) S {4 Z( _ - {
0 J9 ~/ p' `* D - boolean exist=false;
$ ]& h" u2 z! ]7 }; K$ j1 m - int low=0;3 G3 c0 K+ d" b9 a. t/ G; v# V
- int high=StuInf.size()-1;
8 A& R2 b& M. z" `# J& G0 ?/ u - while(low<=high)
& a L* R' P k6 L& d" ~ - {
5 u: o# B( G) y8 E7 g - mid=(high+low)/2;
9 u; T' N( ?4 Q/ q# p/ n& a - StudentInf a1=(StudentInf) StuInf.elementAt(mid);
3 [9 R, }. R: V1 _ - if(a1.getStuNo()==k)$ j1 F! b* r2 ]' V) }
- {# e2 I/ @* g2 z- n8 B
- SI=(StudentInf) StuInf.elementAt(mid);9 X/ I' ?+ z6 {2 K7 ]% I6 y
- String x = String.valueOf(SI.getStuNo());
- i! u n+ |/ W* n! d: D+ W - exist=true;: b# f% X/ F) Z! o: ?2 Q* D; C# P
- input1.setText(SI.getname());
4 j- e& r8 o0 W! M - input1.selectAll();
; h% U1 K2 Y' R, p - input2.setText("0"+x);3 u6 w; R: l0 G$ b1 a q
- input3.setText(SI.getClassNo());( x o( i! f. E" @$ K& G
- if(SI.getLevel()==-1)
& T! x3 f4 M8 q, ^: j9 N! l - input4.setText("未参加考试");' W5 k: ], O. k& [# ^
- else* E5 @" @7 V, v1 q$ E
- {
+ z7 \ _. L2 r4 i7 V9 Z - String y = String.valueOf(SI.getLevel());
- r% P9 g& I& n, ?( n4 E2 @0 v# j - input4.setText(y);+ O* s( C1 D0 B6 R+ n' ?8 ?
- }
5 |; T. S# ]: p) Z" G - break;6 v* m9 _1 q6 v& G' n
- }: t: m, _3 o# H: R/ i% C$ k
- else if(a1.getStuNo()<k)
" p/ z, d1 [- m3 p/ {8 m; X5 R - low=mid+1;4 N1 C5 G' S3 @1 P0 l) _/ b
- else1 y, g1 ^% E# [
- high=mid-1;
: v* |! i6 G# ^5 s5 @& k - }
* @2 _: y. I2 m( g% Q: \. T - if(exist==false)6 G' g6 T3 d; x: v7 b. x
- {
0 B J- c6 o) H( M# I - input1.setText("无此学号学生信息");
) G; V/ c: M5 o4 H - input1.selectAll();
- m* J+ K( g- f5 b - }
( u3 H4 f& O( j/ n1 L/ Y - }
+ C5 w r5 }/ _+ Q/ _' \2 k: m - //添加方法9 e. L }( \5 P, d: Y4 I
- public void Insert(StudentInf q)5 A" d1 a7 E% X7 {6 `
- {
+ g, [2 m+ v: @, P1 ^+ c+ p - int i=0;
B X6 Q. D, i1 H$ ?) | - : r% w! ~2 j! ^7 T2 W4 c/ y N4 W
- if(StuInf.isEmpty()==true) 8 Q |5 \$ A# n; ^6 |
- {5 D+ N& f4 S8 ?3 y/ }' z( |
- StuInf.addElement(q);* [8 K* I( V# d! b6 p
- input1.setText("");
* b5 p3 c! |% ^. m - input2.setText("");
; m' I- I; Q* P u U - input3.setText("");
! q1 x/ b( d! a3 c1 F. a - input4.setText("");
e ?. c4 c' \: S - }6 ~) s) b) ~, q
- else
+ h E5 F& Q& n' P4 _. h. W" I - {7 J1 T- o' g2 i
- StudentInf xh;3 f7 c, d4 a, B
- xh=(StudentInf) StuInf.firstElement();
" c5 w6 {' o! w - while(xh.getStuNo()<q.getStuNo()); B; x0 G e, w7 l
- {
# M1 F6 i- a l0 v - i++;9 k5 k, n9 D' i* F! E! m
- if(i<StuInf.size())
: |* }6 n# b' @ - xh=(StudentInf) StuInf.elementAt(i);
6 H6 X7 K* |! E4 T, E - else
- L* W* C) M! \0 Z1 {( J - break;
; h5 w H. V2 H; @7 @( r - }
) d8 a4 X P9 V: ` - if(xh.getStuNo()==q.getStuNo())9 ]* s/ F5 e7 Y0 c' }+ R
- {) l* a0 n9 f6 W O. j
- input2.setText("此学生信息已存在");
# k1 g0 H& F9 z' x/ U- e- X - input2.requestFocus();7 d9 m7 m! |8 f% p# ~% \+ W. c# K
- input2.selectAll();
( W+ O2 j/ w, B8 ?& _4 a2 I - }* X7 I, D5 X2 U7 [' E" ]" [ J8 a
- else 5 D) ]$ w1 F9 F' |% q' [% |% J
- {
7 O) [! G5 M0 I ^6 y& F - StuInf.insertElementAt(q,i); - w5 Q6 C' H6 ]5 N
- input1.setText("");
( a( c# n3 a2 h8 j% i7 L( O$ _ - input2.setText("");" I2 c$ W# ^. o9 K: P# |- E
- input3.setText("");
3 n% b- s9 \& |* I* E0 K - input4.setText("");) @3 Q( K0 V9 y
- }3 J4 y' z- H/ V U6 D* y# ^5 G
- }
4 h+ @% \2 ~& y% w8 R - }
) q' t: I: n3 z- Y) l) U0 W - ' n, H& D. v& ~. P
- //异常类3 d4 b! E9 @0 X
- class OverException extends Exception
# d" s8 u* H+ z - {
# c; o5 F T; e: b* F - String over;
, W1 j6 } v1 \/ n. ^ - } 2 A8 E# A* H' b6 }! `. m
- class EmptyException extends Exception& [& V, a7 @8 N( T9 L
- {
' J: a9 n( ^. K- @9 H. D - String empty;
" X: k) q u8 v( E$ x8 E, N) o - }
( Q4 ^8 H7 `; K: R1 y% U; q - void XingMing() throws EmptyException
8 ^5 \7 L0 H5 I1 { - {
" A% q' K% N) o - if((input1.getText()).equals(""))
' W1 Q7 H& j' J/ V6 L- k - throw (new EmptyException());( E( m& n/ {# W! `- }: j7 }
- else
" G/ w* m" _& l3 F - xm=input1.getText();
5 r0 f% k7 r) j# v- E' P - }5 V9 \8 t6 Y7 I" V
- void ChengJi() throws OverException,EmptyException 8 S0 q* B% U# F' W
- {) r4 d I( i3 R* L( v5 B
- if((input4.getText()).equals(""))
w" m& \+ I. h& i, I6 H+ Z3 F - throw(new EmptyException());
7 Z9 }) F8 B2 |. R# y - else
; w( K3 ?& G, c9 s% i: g - cj=Integer.parseInt(input4.getText());
6 v M9 Z6 F/ t$ ]! |- Y - if(cj<0||cj>100)
' ^$ w! y$ ]5 W: x ^8 l9 J, _& b - throw (new OverException());1 W j; p4 q, C3 e0 |# p
- }
7 L" u# W1 m$ l0 J3 A -
3 y; Q' o2 C& z5 E0 w* o k8 g7 X4 Y - //学生信息类2 E( {& x3 b0 ]4 b0 I# T# U! x5 Q" ~
- public class StudentInf! _* Z0 _2 d, z8 `6 I
- {
/ J( u M% D9 Q+ @: F- U: ~ - private String name;
8 z( |9 |" m; }' [ - private int StuNo;
5 m. a* D5 ^5 d% e- j - private String ClassNo;
5 v0 Z: G5 v3 v* e; ? - private int Level;
: Y# c/ P4 ^+ b$ h+ L - StudentInf(String xingming,int xuehao,String banji,int chengji)
8 q( M) x+ x2 V% O - {
! L3 w; K) F; M* r - name=xingming;
6 W4 R6 c2 R" _- s, ? D - StuNo=xuehao;# A9 I2 s5 N# B/ ]+ ~& y
- ClassNo=banji;" e, p# x& v" y
- Level=chengji;( s/ U! b% X3 D2 ~7 l) k
- }1 Z; W6 d/ z8 X2 [* J+ _
- public int getStuNo()
, _% o# Y$ K: X0 j' ^# \4 j - {
) P# f' o8 R8 {" c - return StuNo;
/ m+ ]( C( y, {0 g - }7 @# I) E/ m! u9 o' p( a6 ]! H7 k& P
- public String getname()3 ]$ G1 w+ v! N
- {
. E5 ], w5 [5 h' F9 i# ]2 I - return name;9 }/ r0 k! K: W( p
- }
0 P; D4 M7 q, `' a - public String getClassNo(). }3 @) b3 q* ?9 U3 u% A6 o
- {
+ h1 R/ }4 i# k% Z - return ClassNo;
! @: A, m$ T' x7 C5 r7 x4 o. } - }- N( K- H6 [* [
- public int getLevel()
0 D2 b" p' v# G( y8 ` - {1 q! `# r/ `3 j9 Y4 d9 m5 Q0 @
- return Level;
- w% m, x _- U( j4 J9 P0 Q+ J) r. ] - }
; p# x9 R* x( S0 s4 S - }
! y0 |8 y. v+ z: I4 a - 6 n. R K0 p# ^% z1 D, C
- }
复制代码
2 V1 [* ]) C& U8 J6 L0 |8 e; b `- E1 n, w! R7 d5 ?
|
|