该用户从未签到
|
- import java.applet.Applet;* |, o! f! ~# k' t7 ^! B
- import java.awt.*;
- m4 ? Q; P+ M/ c- E - import java.awt.event.*;1 \6 \1 ^; }6 m. @( ~9 c/ _$ I( u9 s
- import java.util.*;
( \ g# p) F8 A0 ]; V6 H - import java.lang.*;
3 O1 ]4 z( E8 y4 S, B, O. @ O1 \
3 s Z) H6 O5 K) a2 ?- public class Students extends Applet implements ActionListener
( A, M+ o4 F5 n - {& }- n7 [7 D! F+ K! `* H
- Vector StuInf=new Vector();/ h, A+ p4 ^, _, O) N- @" Y
- StudentInf SI;
9 _( d) L, h. k8 s; u6 k+ }& x - String xm;
: W5 ~. a7 I4 p4 j* Y - String bj;
( B0 M$ L) |% V. I8 |, O5 T - int i,j,xh,cj;
; X7 ?1 L5 b$ V( u) i7 C4 w: O7 R - static int mid;& h) X: l: w4 a" q
- Label prompt1=new Label("学生成绩管理系统");; J; h0 W+ b$ i
- Label prompt2=new Label(" 用户:");) R) t) }# R$ n% r! u. ?' c
- Label prompt3=new Label(" 密码:");9 f3 u" |: }# R( O2 ?* i& x
- Label prompt4=new Label(" 班级:");" V- K0 ^' g4 G) p
- Label prompt5=new Label(" 成绩:");8 ?! c! t$ _+ d0 N
- TextField input1=new TextField(8);- L5 d' I- Y0 h( O6 _$ S
- TextField input2=new TextField(8);
& e$ C6 h/ b9 v a - TextField input3=new TextField(8);7 u# C8 N/ n! w1 E1 J
- TextField input4=new TextField(8);! H7 f" y6 P U* p% n0 r/ \
- Button btn1=new Button("登录");$ ~7 @4 u. ]7 h4 Y1 \
- Button btn2=new Button("增加");
4 h% v7 d, B) t6 {* a* y+ B" u1 \ - Button btn3=new Button("修改");* P5 P3 u9 L6 \1 b+ D" W a- I
- Button btn4=new Button("删除");
; G) Q) o* x0 v* j& A3 j4 e -
# d5 d4 L# C5 J% M. [6 j! S - public void init()
) f* `% ~7 _, H5 \ h% K } - {
3 j9 {) ?7 l) {1 O1 K' D& U) J - setLayout(new GridLayout(6,3));
" |. _0 t$ j! R' e4 b0 z4 ~1 b$ C9 q4 J - add(new Label());
R& h# ^! X% ~) U) G/ ^* B - add(prompt1);
4 O$ n0 Q8 B/ O! L' ^4 W, ?' S - add(new Label());
) C5 |! }' R# _: f+ w% j - add(prompt2);/ D3 Q1 Z- T% Z4 K0 e
- add(input1);
5 d% e- C, }5 i% I7 E - add(new Label());' H" b7 Z$ x- m4 z6 c( f
- add(prompt3);; c' L( p0 e: [1 H$ w+ @
- add(input2);
' H& V1 r6 G `9 p" j' H! q - add(btn1);
5 i# T3 _% R+ `3 R& o) Q: ? - add(prompt4);
! x3 ^5 T9 j7 [! ^ E6 R- J - add(input3);
7 a/ D2 c$ Q; e: g4 a) O - add(new Label());
0 H! m p9 V( ~/ c - add(prompt5);
: x2 }2 @& j7 T - add(input4);1 T! G7 a7 v, r. K/ Q2 n! }
- add(new Label());
2 U) F9 B# w: ~" ` - add(btn2);
' B' d6 B. ]; z2 ` - add(btn3);! f# n6 [. e( ^4 G3 P
- add(btn4);
! Y1 j y. T* ]! U7 t% S' I1 z, Q z - prompt4.setVisible(false);
% l: {9 s3 ^: a5 W n( p1 B - prompt5.setVisible(false);. H7 Y- ~9 a- S p9 W
- input3.setVisible(false);
2 {6 s5 G# L7 w6 W" g& L - input4.setVisible(false);
/ P8 k! \1 q, D7 { H( \& i: P* u) ] - btn2.setVisible(false);
& i; B/ U' ~! \$ T" V8 c - btn3.setVisible(false);" B) Q# p$ P1 g; f) s
- btn4.setVisible(false);
6 e$ G C3 g# N8 \ - btn1.addActionListener(this);
: J4 l9 S, q$ m1 @" A - btn2.addActionListener(this);" p }& ~$ Y& d& G( [# G- h% O3 i
- btn3.addActionListener(this);
3 X/ v4 J4 F! v1 f - btn4.addActionListener(this);
0 {4 N0 ?6 G: D3 n. ^ - }
( @6 j+ l+ M+ F1 o - public void actionPerformed(ActionEvent e)
/ C6 l! r: {9 r/ i* W2 X3 g - {
& m( k5 b( E& q8 P% { - if(e.getActionCommand()=="登录"); ~8 l2 p* W1 E9 B! k% _2 y
- {
& M. D2 z$ Z5 p' L - String a,b;
- V4 r/ w7 b% e1 x$ O - a=input1.getText();4 v$ T$ {# H# H/ B; u
- b=input2.getText();
' B p8 F, H& D2 H) _ - input1.setText("");# R' M8 z& }5 v+ D! C
- if((a.equals("12")==true)&&(b.equals("12")==true))) C: |7 g# l( y1 h' e: Y) X* ]
- {
4 c! h: ]8 Y9 P - prompt2.setText(" 姓名:");. b6 ^( \6 B/ [$ S5 P. ~
- prompt3.setText(" 学号:");
% A$ z, D$ n2 x7 B+ d9 ` - prompt4.setVisible(true);$ ~4 ~2 s4 @9 Z% G. D& o
- prompt5.setVisible(true);9 R: b0 }% O5 ]. X( Y( P
- input3.setVisible(true);0 `) N3 u k; s5 m
- input4.setVisible(true);, Y% n5 G: _( k8 A8 h: g
- btn2.setVisible(true);% r* J% K% g( K5 v
- btn3.setVisible(true);. r# h* L$ l4 g' [0 D4 Y5 w. _
- btn4.setVisible(true);
) c* q& _/ G# ` - btn3.setEnabled(false);
9 D* V9 P. u, _6 _! N# J* l - btn4.setEnabled(false);
2 r+ D2 U- q! r - btn1.setLabel("查询");- F3 M: w* q4 D. @
- input1.setText("登录成功");
, N: e& Y8 t# U8 Z* n5 Y - input1.selectAll();" y5 o% X* X H* d! W
- }; o4 e _4 _7 Z: ]
- else
1 u/ B+ Q( U; E9 Z6 K' F - input2.setText("用户名或密码错");; ` d9 q/ U; V: O% E9 P+ s6 s/ m
- }
) ]1 z0 P4 r/ D3 O* F9 v" b - if(e.getActionCommand()=="增加")
$ C2 ~' {( Q/ K2 u* Z9 Q& a2 o - {
5 e% N/ ]! J! s# V. H3 A - boolean scucss=true;
' E. \$ L4 T3 U( W - try/ t" `# X/ G$ P: X% e
- {
1 T9 w; n: ?5 v. k. s; g/ C$ ~5 O - XingMing();: V' k) I4 s" q" M" v6 W
- }4 @7 ^) T7 R1 [* t, s; i
- catch(EmptyException as)
. ^8 v" M2 m) v5 c' i - {
% b3 f& {+ P+ w: C, _ - input1.setText("姓名不能为空");, U1 Y4 t9 g$ l- B/ m: m
- scucss=false;
2 n% K/ Q9 O( w/ o3 a - }6 K" F5 S( C" |
- try1 h, [$ y+ U k6 V) N F
- {& h0 H/ k- z7 E9 d2 C j. s! u
- xh=Integer.parseInt(input2.getText());4 q" n2 K9 I. ?4 i/ p
- }' J4 ?: z( V& n; ~. u1 L& T4 l: w
- catch(NumberFormatException m)
4 {0 g! p `% O( u% d - {
! {1 }4 s' Z3 M! ^5 Y - input2.setText("学号为空或格式错");
- k4 z$ Z; T& o# o$ x - scucss=false;- ^( k+ Q, w7 g* j% q6 B7 u! U
- } ' f6 w6 z0 I$ e: S
- bj=input3.getText();" B$ U7 s* j: G- N( U- z+ a( L( p
- try2 B$ d9 v5 p. u: }
- {4 _5 m3 N9 p3 e3 a( T% {& S- ]. P
- ChengJi();
4 s& O8 Q* E0 g" m& A) y - } H! g! K" E$ k4 t9 z* u3 t
- catch(EmptyException as)% Q0 x$ n# R+ @) l% J& R6 z
- {
9 z8 S6 ~/ E9 d6 V* K( k. [1 C - cj=-1;2 ]0 t5 G4 k K M$ g1 N0 F. Q, L. ]7 |
- }/ }2 w5 O% B% T) G* W& {) F
- catch(OverException dd)
" k r4 \- q" ~! |2 M T - {! i6 f7 m' f2 M- x) w: K
- input4.setText("应在0-100间");
7 ^- R9 G, w$ a+ `" N: ~. I& S2 | r - scucss=false;
\4 J) U0 n- g - }: A: i& [2 D- V4 n6 B
- catch(NumberFormatException cm)
C! J1 {8 ~9 b1 } - {
1 O- l" L, g+ Z1 s5 p - input4.setText("成绩应为数据");
+ x) @) D8 r% q, D - scucss=false; 4 D3 H" m% y4 m+ b+ W
- }
2 a9 h9 l( j* d) P - if(scucss==true)
1 _, [! A+ K- w" P - {; x! v; m1 a2 F: \+ A, |& i
- SI=new StudentInf(xm,xh,bj,cj);
. Q) A+ {' e1 e - Insert(SI);6 v5 n7 v, A# Z( j0 P- L
- } Q9 m4 f9 b" c. X& f4 g
- }
; |) f( ]; X$ B3 z' J: f* K - if(e.getActionCommand()=="修改")
; s/ ], S; |4 S - {$ s+ D) J. M5 D% {7 W
- xm=input1.getText();$ v* i" F' @' F% n6 ]( |4 w, w/ a
- xh=Integer.parseInt(input2.getText());
+ r0 V9 q7 O v9 `6 E+ m0 w2 `4 i - bj=input3.getText();
# L0 E8 a& {$ R% d9 ~3 w - cj=Integer.parseInt(input4.getText());
: _3 u4 E( u1 X/ R - SI=new StudentInf(xm,xh,bj,cj);
; g% w- e& p% I& _ - StuInf.setElementAt(SI, mid);8 ?: G" f0 n- q b& v
- btn3.setEnabled(false);
& n3 `% V+ P$ I% d9 ?9 d - }
4 @ B' w# B4 H; E! ~8 f - if(e.getActionCommand()=="删除")
$ r- p$ j8 f4 h- _% s - {- ^3 S) N# L# ^. S/ B
- StuInf.removeElementAt(mid);
2 [* N8 p0 U) I$ V4 k) R: J - btn4.setEnabled(false);
- v: y# ?8 }/ d5 P0 h" o# k% t6 o. m - input1.setText("删除成功");
5 t( a0 W, x" u& \; Y, @ - input2.setText("");1 |' x) \8 x( a5 |! F
- input3.setText("");
. |" h) E' _( v K* M3 W - input4.setText("");
4 i* o- p% y) t: L K; j5 L6 I; O" x - }6 ^( L4 O$ Y6 U n' L+ P2 v% r
- if(e.getActionCommand()=="查询")) ~9 k5 d0 C; m* ^
- {/ Z% E7 M) X& f8 o& X$ z$ [: p @
- boolean right=true;
3 w x/ K- z# l! c$ m5 y. k+ D - try9 z5 n( \) D$ h
- {! n* X0 r# A: W6 s
- xh=Integer.parseInt(input2.getText());
$ v+ L2 `4 D: y2 s - }
! r) ]4 w [; w g - catch(NumberFormatException m)8 z; K* X! X8 G2 `
- {2 n# c3 v* J0 ?1 q
- input2.setText("学号为空或格式错");
& Y$ }' k4 s+ A) S, P - right=false;) K: K: ?+ ~3 I% Q" v4 `
- } , ?! u8 a$ q6 e- v6 B# M
- if(right==true)* L% a4 p( v* m" o, z0 m8 {; R
- {
a& j, C( ?* F9 _ - search(xh);# \& `5 ^( B' q, M3 m: k1 r
- btn3.setEnabled(true);4 L6 |0 ^$ T& E: I6 c2 Z
- btn4.setEnabled(true);2 C* g5 |# f$ H! p; b
- }
/ |) E: B3 y& ^# h% F- i - }- B) \/ t' @$ _ u+ t" m
- g# Z( ]; k+ @1 p1 t1 z
- }: O* Q3 Z8 s8 r0 q% w( T
- //查找方法$ @$ J) q" y; `2 d# c, V
- public void search(int k)
; v) P' ~2 C# F/ @0 i/ V# b6 ^ - {
4 d z5 N$ Y6 m - boolean exist=false;
/ e9 l m ~7 Q+ F a5 e. } - int low=0;
* f4 z# @, [6 l" y% D1 r - int high=StuInf.size()-1;
* M5 u Z8 E1 `/ `- F* I2 h - while(low<=high)
" U. K( H+ m# }( p$ _9 {6 @6 [ - {
' h4 e/ c: U2 P( m - mid=(high+low)/2;- @- @ I" O! r, e" t8 }9 s" }
- StudentInf a1=(StudentInf) StuInf.elementAt(mid);
3 G! r: Z, s a8 X+ H3 N - if(a1.getStuNo()==k)
+ p9 P& ?' r0 m% L$ ] - {% p M1 L6 x( U; L
- SI=(StudentInf) StuInf.elementAt(mid);
; R1 a& N- D% n - String x = String.valueOf(SI.getStuNo());
3 G" T, l" ^/ J! X - exist=true;; _0 C2 s4 X3 R1 r* J: Q, }8 c" h
- input1.setText(SI.getname());
( a' ^! u% b1 L2 i9 ~5 V7 j) N: [ - input1.selectAll();$ U- u* l' O+ ^, }
- input2.setText("0"+x);4 ^. {7 {( N" K
- input3.setText(SI.getClassNo());$ u, J- _* \4 u9 q0 p# s6 f
- if(SI.getLevel()==-1)
7 [1 ]$ `$ V6 G9 n7 O - input4.setText("未参加考试");) U: E9 i3 w& `: B) C3 o
- else
8 y8 u M" p2 g& g5 } - {9 R4 x" f4 R+ g& [4 r) _; M8 s% r
- String y = String.valueOf(SI.getLevel()); ~4 J. j( N) U! P; R
- input4.setText(y);
3 i9 y# \ |; b* L" A - }
7 x4 L( W, V3 j6 b1 E1 B - break;
. U; |* @! s% O - }& w( S4 ], K. f$ D
- else if(a1.getStuNo()<k)
z' J9 [+ @8 i! Y; g" p - low=mid+1;' q7 @0 P3 ^0 L- g: t
- else
3 {$ e" @7 y* _/ v8 g0 G - high=mid-1;
& E- @8 ?% ~5 c* P& } - }7 F, \* C8 Q& ?+ ]* ~7 L
- if(exist==false)9 r% r3 `, _- j+ a) t9 h# `2 ?3 \, L' k4 X
- {% H6 A7 X* V7 G" M
- input1.setText("无此学号学生信息");
9 l. _, V7 P8 ?, C) j- Z - input1.selectAll();4 z* y4 W+ ~9 x1 b* u& X
- }
4 i6 q* m2 X. Y* Z$ X5 G" l# X - }
! n7 O. N" G2 p* ` - //添加方法8 Y" K; r. d; H1 i; H5 p
- public void Insert(StudentInf q)( q! [6 U, v' Y& w' }
- {0 N% ~' r# ~1 v6 b0 B
- int i=0;/ G/ E; ?0 _% m6 v: s
- % q# n( |7 s% H+ u1 R0 L) `% ~
- if(StuInf.isEmpty()==true)
7 }4 j! Y9 s$ B+ G" | - {( |) j/ k. q( y3 s k: x H) H9 i( Y) s
- StuInf.addElement(q);% O- h! l, b, K$ A V
- input1.setText("");) Y3 W$ F( z# h$ `" e+ a
- input2.setText("");
6 p; T7 ?2 r4 _7 r/ L$ [2 m - input3.setText("");
1 G+ F! L- ^- m X! Q1 W - input4.setText("");# N4 c5 r6 o- V
- }4 l" `* w# V# J; `4 m3 u' U
- else/ H, a, d+ h3 n- b8 ~6 M S( `, G
- {
! s1 q1 X( z% S/ Q# S - StudentInf xh;1 C2 n4 x7 v9 R# V7 J. I" |/ n
- xh=(StudentInf) StuInf.firstElement();
! E/ t( \3 n2 ]( w - while(xh.getStuNo()<q.getStuNo())# }1 ?8 k. z' O9 g: p" i
- {$ c3 g S+ w/ x6 ]$ z
- i++;
7 ~; {- U6 k' W: D3 _) h - if(i<StuInf.size())
- c" P% _3 j5 S8 W4 g# s8 ? - xh=(StudentInf) StuInf.elementAt(i);: {/ E m" \. D- E7 `# ^& y
- else 7 ^% f2 @5 C: N9 Q& y9 k/ c
- break;+ w1 B5 Y' c Z/ l5 a
- } 8 t2 `, V- \" l$ l3 q5 z( l! m
- if(xh.getStuNo()==q.getStuNo())* S, T" w& b- j+ F' o7 G6 w
- {3 Q0 g8 I7 s h& h; g
- input2.setText("此学生信息已存在");
4 K" p4 |3 Z, x6 [ - input2.requestFocus();
8 Q% N& z0 i$ d* \' a& y - input2.selectAll();
0 K6 E4 t' w& P& S - }3 X' `; M! C. f, T3 J
- else
; a+ s" q) ?7 t5 M; w, p u - {
7 z M- f. f# J/ g - StuInf.insertElementAt(q,i);
% Q* \/ I% W, ~2 ^) g; V - input1.setText("");
% @9 v7 f2 k- x% W4 t/ Y/ o - input2.setText("");3 v! V" @" x2 T1 p! L, u
- input3.setText("");+ }& G3 {, e- v' F& h( v3 W' S
- input4.setText("");
8 l6 P' u: b, l* c1 e2 Y - }
' \% J" B& s$ Q# {2 R - } , X7 y( g+ h; S' G# m) A0 K
- }
: J( ], w+ B& e+ E2 F -
& v+ j% Q& d6 i, D' H% ~7 T6 c - //异常类
' ^- Q2 m: l) [4 a: N j9 \, X - class OverException extends Exception" O5 ]" V/ E! L0 X
- {
2 Q4 R* }: Z% `+ b1 J: r, Y - String over;- a) M) \1 }- w
- } ' }' S" P2 x# ? N3 {$ e" V
- class EmptyException extends Exception
7 C8 e( N3 O+ n# A9 n% b - {
5 J' y: ^6 j- `" ? - String empty;
* n8 M4 N$ S B6 n* E/ O) X - }
& X: P2 g0 D4 C. B" ?. E+ D - void XingMing() throws EmptyException
' l U9 c: y' }. Q$ U0 h: A - {9 U: @7 I- k; p- u3 `& y; s
- if((input1.getText()).equals(""))$ C+ @8 f, S! i7 B
- throw (new EmptyException());
: @5 d1 g+ d2 e* ] \' P - else5 q: A' {' D$ l5 j* I1 Y# U% E8 Q
- xm=input1.getText();; b- |0 o: R* Y$ I2 t3 d& [1 c6 N h; [
- }
( S) r% Y; t! C( t - void ChengJi() throws OverException,EmptyException
3 F U' w+ g2 e* v- w - {/ F \! Q0 A1 z R7 J5 O. h+ o
- if((input4.getText()).equals(""))
0 B8 n% b' ?( O - throw(new EmptyException());
@) T j% M( ^- z+ M$ K8 i - else
% B8 a0 X( l* `6 W; F- _ - cj=Integer.parseInt(input4.getText());
8 ~) [; w" u! g& t, U8 f - if(cj<0||cj>100)
, r: Z/ p4 y: E, W( S2 E+ {* W - throw (new OverException());
+ r' Y# A$ f( ?. t { - }7 P1 `+ S3 h1 u S
- 5 j( \* a) ~( l; G1 B1 P( N& K) [
- //学生信息类; @% D# ~6 Y$ C+ c) N9 {
- public class StudentInf/ P: F3 Q: k* O3 c' R9 ~7 J
- {
; U, L/ j+ H7 ]( s$ k - private String name;
3 z( J( Y) O% X2 s" X; h. X) Y - private int StuNo;+ O; w1 J |5 J
- private String ClassNo;
1 Q- D: _$ e5 W9 p& W9 r" w - private int Level;
' u3 {0 _7 U! y - StudentInf(String xingming,int xuehao,String banji,int chengji); C6 A" Q8 E% n/ X2 _; }: g5 T* B
- {/ D9 x. Q! G6 E8 r4 s# P
- name=xingming;
7 X7 m9 r& P! l9 F; Q- N B- a - StuNo=xuehao;, m: w% Q: F' F/ O0 o
- ClassNo=banji;
+ s x3 r0 }% }7 C% M5 H- k# V l, F. f3 { - Level=chengji;* W3 x+ O! _! f5 a4 r, I- p
- }- U% Y& U0 `; R
- public int getStuNo()
1 v3 `8 R; V3 o' j1 q8 Q - {
7 L4 ]2 p8 k7 W( T: W* F - return StuNo;6 u6 d" O1 S- D$ P0 c
- }
5 f. K$ a# Y. }! l5 ^ - public String getname()% b) J) A4 V. ^. \9 O8 C
- {
5 p7 U9 D, r7 ^& ^ - return name;' t4 M$ T1 D Q9 b v$ k
- }* \5 m/ O; G6 g* R0 K. `
- public String getClassNo()" i, J! O: u" N; Z9 a( x1 i
- {5 b5 \9 u8 H- n
- return ClassNo;7 B% Q/ e( b4 I5 w# I& Y; f' k
- }
6 [$ S7 C* z1 D5 z9 z - public int getLevel()4 U, q' z7 l* F* G2 C
- {
: F6 Z" t2 I9 M& A. k - return Level;+ i& q" d4 J) P- b& Q" X+ H# X3 `7 q
- }
# j( c5 P7 G8 c* n# L- j+ y - }
( ] J. w' P! f) ^
! S- {/ w2 Z: F- r: v' F5 Q- }
复制代码
/ Q8 A8 J2 z( {8 E7 Y
: r7 z/ O9 i% Y0 P( v/ N |
|