该用户从未签到
|
- import java.applet.Applet;
9 S+ Y8 W8 p. |+ ~9 |# v; W - import java.awt.*;
% t0 K! Z5 X8 x/ u( n - import java.awt.event.*;
0 @9 n, ]# p3 \+ O0 { - import java.util.*;
# y: ]2 ]6 b2 h" K. C8 P - import java.lang.*;
+ I1 Y% w S6 T" I4 H
8 |8 e) b" D- R; L6 X4 y$ Q- public class Students extends Applet implements ActionListener
& G, \0 t8 ^* [ - {8 N U; x) W' m
- Vector StuInf=new Vector();
3 k5 u+ ~: c, t - StudentInf SI;
# [4 l+ Y" N4 }" X& H! c - String xm;* d1 x$ s( [8 \, q: W1 j
- String bj;0 j( s g$ I& j- {, q; o
- int i,j,xh,cj;
) _: b& ^) n' o1 l/ R6 c& ] - static int mid;+ ]. w5 _0 `; l
- Label prompt1=new Label("学生成绩管理系统");0 v- A! }3 t7 m, ]2 p1 ~5 _
- Label prompt2=new Label(" 用户:");
8 B4 P' l; ~ m2 ^ - Label prompt3=new Label(" 密码:");
7 o0 O6 D+ x; c - Label prompt4=new Label(" 班级:");
' F0 j5 t+ U' a$ Q$ p$ }: \$ o - Label prompt5=new Label(" 成绩:");
, @3 {6 I& v1 J2 v, b - TextField input1=new TextField(8);, Z, I0 i [- \) B+ i
- TextField input2=new TextField(8);: U6 C' [ U: N
- TextField input3=new TextField(8);3 [$ l i% F; {' z
- TextField input4=new TextField(8);$ y2 ~, r( @7 t* I7 C
- Button btn1=new Button("登录");
' U! t- D4 n J: T: ?) ~' D - Button btn2=new Button("增加");
+ B4 E, Z$ J% M! I6 a - Button btn3=new Button("修改");& j6 `, N# \# X- e2 u
- Button btn4=new Button("删除");, T1 q% D. z& `0 l
-
2 ^# M5 d1 F- X) x& q4 C0 C5 L4 r( M - public void init()' d0 G$ z B# m$ t
- {
% m) `8 G% r2 R0 Q% j - setLayout(new GridLayout(6,3));- z8 O- n! V! d, {% U1 X- G. i
- add(new Label());. w8 e( x5 g& Z' U- T5 f+ J8 }
- add(prompt1);
6 w, y" j, b. e) m9 j7 d - add(new Label());, m' U! X( M- S5 O) l, n$ ?
- add(prompt2); k3 o$ N; R. ~% @4 g$ O
- add(input1);
% z1 i/ A6 U0 `. [2 y - add(new Label());
+ ?' [ D# c2 L4 _: Y0 r! @; s9 ? - add(prompt3);8 X4 H. B0 q, Q% W! X
- add(input2);9 D% P( H( h, n/ p
- add(btn1);$ K% Q! y4 u- N6 O+ X( V7 }
- add(prompt4);" E! H: K! C% W$ Z$ p9 Z
- add(input3);
) V3 ^: C, y& _4 Y) v - add(new Label());, J4 J6 u" D& [- ^7 V
- add(prompt5);+ Q; j: F. I$ P q. h
- add(input4);
0 x k& v4 u8 h - add(new Label());/ d- G' i# v S: a% U7 F
- add(btn2);+ N4 {5 d7 ^5 X" u; Y( U+ V
- add(btn3);
' ^8 X7 ~) @3 n1 C3 c - add(btn4);" v' X" B! N* j# {3 [
- prompt4.setVisible(false);
1 B# z, s9 U3 W$ E9 F+ K# H - prompt5.setVisible(false);
! }& c/ ~7 W2 Y/ D9 x" X2 o - input3.setVisible(false);
: w+ y6 Y- Z6 c( y* M( r4 y. S - input4.setVisible(false);
3 |8 X k) G$ C- k9 l( c0 c s - btn2.setVisible(false);( R X8 N( A' z, ]3 z3 w
- btn3.setVisible(false);/ w( T$ V) {7 T0 f) l5 T
- btn4.setVisible(false);7 E3 Z' a: ?9 h8 A
- btn1.addActionListener(this);
& I6 U. B. r3 a0 c - btn2.addActionListener(this);* i, F- c: F' t
- btn3.addActionListener(this);
' c2 H4 Y$ V2 h: L' W. S - btn4.addActionListener(this);
3 A& ?+ h; i. {' u( } - }
8 t7 d/ `4 ]1 R; ]1 `- g; l - public void actionPerformed(ActionEvent e), S7 d5 P# k, `; w+ z5 X
- {
2 }* O8 h. ?) e0 P4 h \ - if(e.getActionCommand()=="登录")* k* u: q( T2 p1 Y
- {
$ q4 P6 L+ r5 g* p$ g% c4 ?$ Q - String a,b;- G U. a: D) j' b( i8 [
- a=input1.getText();
/ Q& k" [' h$ F/ ~ - b=input2.getText();3 o. t/ q' v6 g. S
- input1.setText("");
7 p. i% a6 z1 w: O - if((a.equals("12")==true)&&(b.equals("12")==true))3 I3 q1 B) l4 \& a4 L: y
- {+ \% L) z; J; x
- prompt2.setText(" 姓名:");2 n# J1 Y' [8 ~3 ?2 P
- prompt3.setText(" 学号:");
6 W. H: j/ ~. \5 \; ^ - prompt4.setVisible(true);
0 K+ |# ~8 ~! p" L: ~/ m9 D - prompt5.setVisible(true);
' H9 o; [0 I1 G8 z; |. B - input3.setVisible(true);
4 t3 I! \3 @; e. C3 Z3 l - input4.setVisible(true);6 g H9 C7 i; R7 f k& A1 m9 _7 v
- btn2.setVisible(true);
+ [* z& W: X# X - btn3.setVisible(true);
4 i5 Q4 O m, v/ J) ~( Q2 s* E - btn4.setVisible(true);7 _' B# n) d% r/ }: Q3 e
- btn3.setEnabled(false);$ n" \" Z( e% }
- btn4.setEnabled(false);' [7 K; J0 _( n( B# w
- btn1.setLabel("查询");
; @, e% \/ q4 Q2 r0 P" } - input1.setText("登录成功");
2 U2 L3 T8 y# D7 K- @+ t% f - input1.selectAll();
" L% U& G$ o# S( F - }
/ O8 R# v6 Y1 E' R; [4 L" a8 G - else
, Q7 j" u4 d# O' ~' ] - input2.setText("用户名或密码错");
9 _# r+ _+ U0 C* w) |4 K6 O2 L - }
' `! z/ O, O; B. ]2 u; w+ x4 } - if(e.getActionCommand()=="增加")3 W }2 |2 h1 f) d
- {
3 {; X1 X$ v9 g - boolean scucss=true;: K0 Q& W7 X! {9 j
- try; ]* z& _# O( Q
- {1 p$ e$ [3 i3 ^9 b
- XingMing();
* k. o2 |3 A% m `* C' u0 i, o - }; P, S* l9 z+ |2 b& E2 c
- catch(EmptyException as)5 @8 \2 o9 j, u' n. u
- {
) k0 Q7 W4 v" T3 T! {2 H - input1.setText("姓名不能为空");
7 M" H0 q. G* N+ \6 H - scucss=false;( Q' O3 f$ d5 k3 B
- }" M2 ]: P) P- J- z* ~5 p
- try# {0 n6 L: f0 U& u- }( p# H- R
- {/ X" z: Z! ]' n
- xh=Integer.parseInt(input2.getText());
! g9 S2 {( f9 [ - }
( v7 s+ B8 ~7 t4 T. \4 _ - catch(NumberFormatException m)+ j+ m* p7 p) g$ m
- {0 @1 E1 c+ a F' n* c I
- input2.setText("学号为空或格式错");
. C* }4 G3 M8 s' N( r2 k( F - scucss=false;
: g4 X5 t3 y4 V" Z' D* s - } 2 f) ^8 w. [ C* d
- bj=input3.getText();
7 ~* R' u: O+ E - try& ?- V" ~3 z* n+ j& t; l( p) y0 ~
- {
, _6 U- i$ e* I( x; p( o - ChengJi();
9 f. E! A0 e2 V+ Q- T o4 E - }
, s4 b: k: F5 b: I8 t. x( o4 d - catch(EmptyException as)" ]4 j5 P( N& _2 v* U- F5 r- R% o+ E
- {
! G! d0 U/ q; C2 j, j - cj=-1;+ D6 H9 [: q% i8 X5 a
- }/ |! p6 c, w E+ [& B* Y6 f
- catch(OverException dd)3 D5 i$ R K# g2 X/ ?+ j
- {9 n6 D, f _ C v1 D
- input4.setText("应在0-100间");
# y# o3 d9 F. L2 x; C+ S# ] - scucss=false;$ v5 z( J, B: X% r4 f; C. }
- }$ n" Q) e: `- o$ ] l: U6 U
- catch(NumberFormatException cm)$ t- t% K1 e0 v9 W
- {/ b! d' I7 J6 ~
- input4.setText("成绩应为数据");# m: J- E- i, E' H. _
- scucss=false; " v) q& x7 p3 q7 \ S
- }
0 _+ U# p w* a: O% Z9 X- L - if(scucss==true)
" j( _5 ?7 S# U1 s( m9 j8 J) S - {" Y8 M6 [! S3 I4 H0 O
- SI=new StudentInf(xm,xh,bj,cj);/ ]4 Y% }. Q6 Y
- Insert(SI);
: @) Q+ a+ Q/ p9 l& N- k# J - }
; j- m5 T' c' ^, |+ } - }$ Q* g( n9 o- Z, L4 k8 _* p, Y+ D, l
- if(e.getActionCommand()=="修改")
B- p0 D0 E. `7 L- z - {% O" U$ b. I+ U* z5 F/ z
- xm=input1.getText();
2 r- _) X" K6 \+ ~3 q& }7 @/ ^ - xh=Integer.parseInt(input2.getText());3 {0 d1 w* I% r/ W' I b
- bj=input3.getText();
* F' g0 M- X) [. J9 B; s- l - cj=Integer.parseInt(input4.getText());
- X j6 m9 u8 D) m; t - SI=new StudentInf(xm,xh,bj,cj);
/ b1 F; ~+ a5 j) g - StuInf.setElementAt(SI, mid);
/ ?9 W/ o7 }5 Z* Q - btn3.setEnabled(false);+ C) w* P( P R- s$ v( c; m
- }8 p- [5 e; A a7 H
- if(e.getActionCommand()=="删除")
9 D9 Y! b2 E/ Y. U# _0 u( p) F; |, F - {
0 |* t7 { Q" H* p - StuInf.removeElementAt(mid);
b* d+ }9 ], c4 k# W5 E0 q8 Y: | - btn4.setEnabled(false);- z& L" U% w5 s6 y5 ]6 G
- input1.setText("删除成功");
0 _8 j V- }2 c8 v \ - input2.setText("");
5 y! N' d0 Q& w2 q6 ?- T - input3.setText("");
% S# b! w s6 `. X - input4.setText("");
2 T0 n% ^# ?! u9 `+ A8 H - }
& B5 g M3 ~: s0 Q. o2 A7 T$ W8 f+ o - if(e.getActionCommand()=="查询")" q1 P( j( c# J* p, o O7 [6 m2 H
- {
4 I% b. F$ M4 o, w- D9 } - boolean right=true;
1 Y# Q8 _) p" ` - try
7 ^1 M4 p& z8 o) E% u - {5 \/ _/ @/ Y. ^, v: y
- xh=Integer.parseInt(input2.getText());& N* z$ u( i* O+ i+ t
- }! r/ l/ t+ b5 Y' O. f& i! E& s
- catch(NumberFormatException m)
, `& x4 R9 n7 U @ - {" Z" R; N, _+ K) Z L, f6 p0 v i
- input2.setText("学号为空或格式错");
2 d- V+ k' T0 I0 q! ] - right=false;5 A) J% x: r) ?4 Q# {8 _
- } 3 y, i& w1 ?, Y0 |
- if(right==true)
+ F* Q4 q8 m. C/ B! ~ - {
( d' {/ |$ E* P7 _% D. B) X - search(xh);
- ]* y6 k0 l. ^3 z; b" W3 a - btn3.setEnabled(true);5 ?1 Q$ Y5 _( j; _
- btn4.setEnabled(true);+ t m: m) K9 F
- }
0 f& z3 S k( }" G% \. B - }; o! C& G+ i. W0 y- Y
- / p% [# x2 {+ ?, k9 u
- }* ]. `3 B7 e- c/ n
- //查找方法* ^7 P4 R" }/ Q( n5 t
- public void search(int k) c$ |4 N/ y- R
- {
8 f/ N0 G" v+ o - boolean exist=false;
% u5 n: X3 e' w - int low=0;
% K) a/ z) c* y* E0 @ - int high=StuInf.size()-1;; p$ `: [( ]! o2 o# l
- while(low<=high)/ R, x1 [: {- x6 U2 e- C% ?% E4 Y* |9 G
- {
& B0 N0 C# O, C+ X, m: N1 z - mid=(high+low)/2;$ H f5 M1 y9 Y4 _1 i. m+ i* F
- StudentInf a1=(StudentInf) StuInf.elementAt(mid);
1 f( W7 h6 F) s. V4 ] - if(a1.getStuNo()==k)& f) f/ f8 E( z \6 a& W2 M' _
- {1 a; h. t, l) Q' v, z
- SI=(StudentInf) StuInf.elementAt(mid);8 O5 i1 E3 ?! U4 x. s3 O
- String x = String.valueOf(SI.getStuNo());8 Q6 i! M, V0 D( P8 v* k+ a
- exist=true;: @' ]$ s5 `+ `' J) {( r
- input1.setText(SI.getname());
3 V; W D& }2 n B) W - input1.selectAll();
! J( B6 k0 S+ p5 Y* D4 a - input2.setText("0"+x);, V3 R: l7 B. _$ `
- input3.setText(SI.getClassNo());
* Q& `: G$ t* R! a% f* e - if(SI.getLevel()==-1)
% P+ f ~/ p" P ~5 O- K& x - input4.setText("未参加考试");
5 g' ?8 T' `) a0 a$ Z- N x - else8 s) a& c) }- X9 `: c9 F
- {
' o6 l0 I5 ~1 y8 I% b2 w9 |+ w - String y = String.valueOf(SI.getLevel());
7 |, `4 [3 X& d. K, B3 l - input4.setText(y);
' U# \* i& H' R$ _: @. ?; I - }; v2 X# q5 o) V7 L8 G
- break;/ Z9 Y% E% p5 y* j
- }- P. }& W) O* B. d8 U
- else if(a1.getStuNo()<k)
1 a& N- }4 D3 c - low=mid+1;
$ c5 `7 @% x. _) T2 S) a - else
+ `( W0 k4 o2 v% @' U - high=mid-1;
* n/ J# p! k4 ]5 R - } j7 F0 @- h R. g r8 }
- if(exist==false)
1 C& u( z( t) r3 ^, U- A - {' w8 G( `0 W- S% U4 F
- input1.setText("无此学号学生信息");4 O# N$ W3 T; v W/ N0 ^# v
- input1.selectAll();+ k+ N) Y' L6 p
- }( I# r5 ?: S- I) F/ Z# K
- }
+ N3 C/ I7 _ N - //添加方法& S3 j5 [" ~' R# _+ m
- public void Insert(StudentInf q)3 s5 r6 m0 x# g; `6 B
- {
* }8 [, `5 s5 u5 s; N - int i=0;
+ I& I- ~" j% E0 s4 Y -
. X- N! j. B5 r6 _' [1 H - if(StuInf.isEmpty()==true) 9 i/ C2 r5 S% [7 V o
- {' W4 ~. t/ k5 H2 f8 ~, ~' i& N
- StuInf.addElement(q);3 B- D- @! [+ }7 M
- input1.setText("");
, m/ V! M" A; x/ K# M7 m - input2.setText("");1 y: V. V/ b. X" |
- input3.setText("");7 K i; |. B c5 v
- input4.setText("");
- G' i/ U$ Q% i8 x$ v& N4 h - }
& I) _/ z" Y0 v1 d1 ^. C - else
/ a) @# S0 }/ u4 y - {
Q7 w# |3 D4 b, r3 z1 n1 a - StudentInf xh;
' ?/ G1 W5 N5 O8 K) A6 O; m* d - xh=(StudentInf) StuInf.firstElement();4 _- _8 t: k. k) a: {8 q
- while(xh.getStuNo()<q.getStuNo()). X' c0 x: x* |! V
- {
' K( k H% ?/ L& Y - i++;
$ b/ C% [+ D, X& P/ E - if(i<StuInf.size())" C, N+ [. d' ^+ n$ _' ^( H$ |1 H+ b
- xh=(StudentInf) StuInf.elementAt(i);
+ L3 U5 s* N- z ^5 ~ - else
* V9 y& }- u* L - break;
3 ~8 U% K4 N* R8 m: Y, { - } " p- d' a1 n- S1 q6 g9 L7 X4 E
- if(xh.getStuNo()==q.getStuNo())* H0 m5 d0 r% _0 r
- {
5 k$ F: E Q% M - input2.setText("此学生信息已存在");
& T0 T s% {. X9 ~, [ - input2.requestFocus();
) | W! W. d+ P: \ Q3 b - input2.selectAll();
) `+ K: n2 }; ]5 O _ - }
; z! @& S& `& t( A - else
9 G. T4 j9 Q+ t0 D% N+ _1 a$ F - {
1 }5 x6 i( e( X7 ]. o - StuInf.insertElementAt(q,i); : K! {) v' V6 t) k
- input1.setText("");
5 P( \" ?2 ]* f, J" }" Z - input2.setText("");
$ [$ V3 z" E: |8 r- J( C - input3.setText("");
0 }/ I7 K y) x8 I - input4.setText("");7 i% j4 L8 o/ W T, E8 R
- }
# @8 r2 P2 z4 `- y8 q6 _" v - } % x. f. o3 o! h0 R+ ^9 I
- }+ S, F4 S: f& a0 `" ]5 W+ S
- " X4 p+ y: Z& c# i6 V
- //异常类: g- v7 w" D0 D1 K0 y
- class OverException extends Exception+ e2 d( D- f! [% O; U! B U
- {# _ l: v/ R# I$ H; _
- String over;
6 R7 K8 P, t2 Y. S+ { - } 5 w/ ?/ I5 h! _2 n7 _
- class EmptyException extends Exception
4 c5 Q0 a: \3 Q- e% j f7 a - { L# `9 [( V- s# x, u# v
- String empty;
+ m) T; K2 s% C! f4 C7 v - }" U: Z' g/ l0 R6 ?
- void XingMing() throws EmptyException& M- C* T* W& {/ \# J
- {
9 i1 m. I( E$ L. R7 i, y- q" u( B - if((input1.getText()).equals(""))' a, W; a# ? R- \
- throw (new EmptyException());, m* |! ?# s) t, |2 t: X% W8 C
- else, S O; E; E1 ~7 }4 O# V
- xm=input1.getText();0 V3 ~7 q1 S- i# U
- }
9 p* B6 u( q% M7 }- T - void ChengJi() throws OverException,EmptyException
5 T: f% P* g- F7 p% W! y - {
0 }1 N& i9 V0 V( x6 s - if((input4.getText()).equals(""))
5 ?! A9 j) C J5 p7 t, q' v$ T - throw(new EmptyException());
7 d; z' Z0 S% i7 M; ]7 {2 X( ~ - else
. R+ _6 t0 k) L& O - cj=Integer.parseInt(input4.getText());" V# u+ G4 z0 e$ \* j, N; h
- if(cj<0||cj>100)
8 B: ]6 m5 t3 \* Q- b3 q - throw (new OverException());
4 j1 M( t5 p' X - }+ ]2 W. h6 l/ n1 {
- 9 H; C4 Z& W8 @: ?( n9 w) ]" E
- //学生信息类9 X( c" _7 S% D- g% H. s
- public class StudentInf2 b7 j& q6 `. ?; |& G1 Y6 C+ D
- {
9 A' z. o/ \. g, V( c - private String name;. |- X% M: n+ G, Y- Z6 b
- private int StuNo;
$ N; K! y/ G& C- b - private String ClassNo;
1 D$ S0 G2 c: E - private int Level;
8 E- Z9 k+ F5 m& m. h$ V% H' g3 o - StudentInf(String xingming,int xuehao,String banji,int chengji)+ @% V1 F r5 h
- {
7 Z1 e3 W& \! P - name=xingming;
; v* d( L# s6 G7 O, m1 l: u6 t; l - StuNo=xuehao;! s6 ~1 T) C& t8 X& X* b! B
- ClassNo=banji;7 G) B$ y% t% G) q
- Level=chengji;8 v0 `9 v5 }3 i- m
- }
8 B- }) ?+ L. T9 ] S: J9 v) ^: m - public int getStuNo()4 G4 `7 T9 L8 m0 R2 Y2 p
- {9 M7 J! }! R+ g8 U- @- ]2 U2 M
- return StuNo;
M! G1 V. |% f! d - }) ? z: U$ F" W/ Y: c/ i0 Z
- public String getname()2 f" s5 ^. J+ Z2 X3 x$ {
- {
' g$ ]7 G4 M% B7 k: _ - return name;
, J& c- B8 G" e# R. S( z - }3 g! U) H7 {, y2 L5 a
- public String getClassNo()! u4 @- f, [; Y8 d, c9 {
- {
, L" p" z4 Q- i. w5 w b- w - return ClassNo;5 |3 D) e0 W# b- `1 K5 ?. P) D
- }
4 T( C3 @" a) t# L$ | - public int getLevel()8 k! ?7 U, m& }- V1 Z6 K) K6 W
- {- p7 E+ f# F7 J% A& {; g& R
- return Level; k# a6 o5 E0 K& b& I/ r
- }1 M6 [7 v/ L: ^5 \1 | E/ u
- }
3 x1 X4 Q6 d: ], O& C3 ]( K
2 A; `9 p) g" l# n0 f: W- }
复制代码 . i& d* n4 k7 b+ D' c$ N% W
7 C8 }- s# {5 r8 W% p6 S: V! v5 { |
|