|
该用户从未签到
|
- import java.applet.Applet;7 ]- r! e& S/ O {- S7 i) C
- import java.awt.*;
) E4 K+ a6 {' s - import java.awt.event.*;
5 O( H0 c: o3 h N' k* w - import java.util.*;; o+ j( C& E, k+ |! j
- import java.lang.*;! `. e t9 Q: R, q* p: z* u
7 }2 C, q9 E+ r+ `5 F& ~2 y- public class Students extends Applet implements ActionListener
6 Q! X$ Q% w! v H. t - {5 Y/ B; ?8 j3 P2 ] J+ o% N4 _! j5 p
- Vector StuInf=new Vector();
8 B. L& b3 w7 H' N+ p3 H v - StudentInf SI;
* x6 f$ n* ?3 X' }+ j1 G; j - String xm;( V0 s+ o! }7 I" c/ N8 S9 j
- String bj;6 N) W# b1 \5 z! Y* ?; }! O/ K
- int i,j,xh,cj;. y0 x& M; G$ f
- static int mid;, I; R( f3 ~* E8 m! e/ ?
- Label prompt1=new Label("学生成绩管理系统");
: X& w$ p3 p" ~; [ \( m - Label prompt2=new Label(" 用户:");/ }% S/ q6 i* p: n o$ n
- Label prompt3=new Label(" 密码:");. k# L( v- z: K9 _ A
- Label prompt4=new Label(" 班级:");
% G$ j- {' y8 p6 K! o - Label prompt5=new Label(" 成绩:");
+ a0 {& Q: P: a) k I4 X - TextField input1=new TextField(8);
5 R L8 ]1 z% D5 M0 x; v9 }; a7 I - TextField input2=new TextField(8);
4 B! c# _, ~) x$ L - TextField input3=new TextField(8);
3 [$ p; M5 |5 O2 O% n9 ? - TextField input4=new TextField(8);% g+ L/ @! {$ e/ W
- Button btn1=new Button("登录");) r$ H, S6 M8 g& v
- Button btn2=new Button("增加");( R& J b/ y' ^8 y/ f' K1 N
- Button btn3=new Button("修改");
! W8 h9 ~4 ?* _& \( O) g; w3 e: X4 ?( R - Button btn4=new Button("删除");* T. W) H2 [5 s
-
8 H$ G+ q$ M. A5 B2 _. m1 C! |! I - public void init()' p: F. v% B, e& T8 p* x
- {
# P2 x% H7 L+ ]' y, ? - setLayout(new GridLayout(6,3));
# k; O9 v, {; t$ a( G7 D9 q - add(new Label());
4 P9 [, W( |* q* h! m# q4 t - add(prompt1);& }( j4 X7 q, Y1 g# J
- add(new Label());+ c* P" F5 y: } \8 ~5 W
- add(prompt2);
1 H& F5 q6 {$ { - add(input1);
, p2 x( @- r% m* K - add(new Label());
0 v0 j/ G* s1 d: y - add(prompt3);! T2 z- [9 W6 G, v# E3 \
- add(input2); i: R) c0 T7 i! m2 T4 c
- add(btn1);
6 i; x! {9 C/ r9 ? - add(prompt4); p* b6 |3 ~) v% Q: k
- add(input3);, d/ E6 ]# A3 i: f
- add(new Label());; m" O* ~! C& n# `- G
- add(prompt5);
2 V3 u0 \* }) }1 O1 X' S7 J - add(input4);& n* m0 r" D9 O
- add(new Label());. H0 _4 T) F" W; F- m. O
- add(btn2);4 i. d9 n* }9 N- S
- add(btn3);, x. o( c- R! ~& f y
- add(btn4);" H0 K5 A, Z% q
- prompt4.setVisible(false);
6 I5 ?) ~' t( ^ S9 l% C - prompt5.setVisible(false);% M# h+ c* i% \# O) \5 Z2 v
- input3.setVisible(false); X- b- Q3 `3 F" k' U" [8 S1 v/ m0 f) V
- input4.setVisible(false);
6 i3 J! U: A3 D( j9 | - btn2.setVisible(false);
5 a+ E1 k$ {4 n \2 Q. Z - btn3.setVisible(false);1 o) ]; E- y3 g
- btn4.setVisible(false);
6 q1 }3 a8 k; m+ ] - btn1.addActionListener(this);) z% W$ _6 W8 k w' a' U
- btn2.addActionListener(this);4 X8 D5 x, k% A4 f) a: u& \: r
- btn3.addActionListener(this); [% u8 ~8 q( D% y1 e0 t! B# r
- btn4.addActionListener(this);
) \7 c' r5 n, h9 x. h1 q, y - }
* j# Z7 O' a) L- J7 T7 k7 o - public void actionPerformed(ActionEvent e)
6 g L* P- d; } - {+ n$ z& x6 L* i: n+ {3 ~
- if(e.getActionCommand()=="登录"), Z$ u" j1 j% O
- {8 |/ ~ n" h8 ^3 p* l
- String a,b;
2 E% y) Z4 s' H c - a=input1.getText();5 v6 X$ C! s7 _( ~
- b=input2.getText();
# a5 `: `% i' q, C. l" v% F - input1.setText("");
" t1 y9 [( M% c - if((a.equals("12")==true)&&(b.equals("12")==true))
. [7 ~" S5 e4 O. h8 W - {; m$ h. J9 w3 I2 L* @* I7 E8 C2 j
- prompt2.setText(" 姓名:");
* ?! t: `* `+ a% v% N - prompt3.setText(" 学号:"); 9 _ B8 D( I9 Q
- prompt4.setVisible(true);
f9 H4 [) R* n; j& _6 r - prompt5.setVisible(true);
/ N0 |4 X- `. v3 B* ?1 o( n+ I - input3.setVisible(true);
) O& {" v! c1 O9 _! C - input4.setVisible(true);
* N4 a. _4 N# C! t8 x - btn2.setVisible(true);
4 v0 }7 W$ i% d k; c+ D% l: H% w - btn3.setVisible(true);1 K* ]( K: z; A& S
- btn4.setVisible(true);, j* M( a0 [2 h( Q$ B! o: k
- btn3.setEnabled(false);% I# m2 `1 v( u; m1 x
- btn4.setEnabled(false);
+ S3 l* @; M3 v& M) ~2 J H1 i$ y - btn1.setLabel("查询");3 r0 G/ ]- S* i$ D. r& v
- input1.setText("登录成功");
: N1 p- k9 m5 X l1 d - input1.selectAll();
9 Z5 j8 X! B4 h* |7 A7 [ - }' b' q7 _# \! {: D
- else
" q% F! h- H3 |, W - input2.setText("用户名或密码错");+ _, T, @$ v" w
- }
/ Z" B' W# W& l1 I$ p - if(e.getActionCommand()=="增加")
& H2 u: @) u- M; C$ X - {
) N' k- {* f. u- J: y/ c - boolean scucss=true;
s/ K+ X6 s" n6 c - try2 s' S# ]) f9 y% p, y1 Q
- {* V, G' F1 M9 V1 j/ k
- XingMing();
1 L# l3 ]' H5 T6 z H - }
( a/ M- |& ^: x1 P" X - catch(EmptyException as)
7 W- q+ x- M9 Y4 b! ^! Q - {* n. K; M! P# T& H: d r
- input1.setText("姓名不能为空");; a, w- Z; ?+ N2 S+ o2 b
- scucss=false;3 m8 W$ z0 \! U8 o4 w
- }
5 o9 b, l5 C. p$ X - try
5 h# ~' `) ^8 d - {
! C' K7 V5 T% l2 Q9 ~5 d - xh=Integer.parseInt(input2.getText());8 Z. y' {5 _! ?) L) l
- }
6 b* V: N2 u4 p4 [4 j) ] - catch(NumberFormatException m)/ j: P5 l! \" d' h6 c2 n0 F' u; x
- {" r) k% U" A: t2 `# P2 b u+ d6 {
- input2.setText("学号为空或格式错");
$ Y4 L9 T% n4 Q - scucss=false;
9 q8 g/ k1 C$ } - }
( k1 X* J2 P# E7 p, [& h! S - bj=input3.getText();, D# N! S7 q0 Y+ I1 ?/ m% N
- try
" B6 W* |. }. i% a1 s; P5 x - {
7 w8 H% ^& o+ G3 N; p - ChengJi();
" v/ Y7 A- k2 u3 } - }* S8 ]1 d. I: ~
- catch(EmptyException as)
; W! I2 C8 f9 S. i/ ]8 i - {' ^. C7 y o6 E7 r
- cj=-1;
. s4 T) \+ j# C' T, F1 v - }
8 n) U$ k: v* v' U8 V; | - catch(OverException dd)6 a& A* y& [) q5 Y% r; \
- {% p2 s% t4 u3 F" w; w- ]* J! U$ `' O
- input4.setText("应在0-100间");
& e1 u! L& `( i8 D; k+ s- p - scucss=false;4 h/ y. D1 G, N% T
- }7 X1 c# ]) {- H+ `: ~
- catch(NumberFormatException cm)
( k# c- K" m# o - {
4 T& B8 v5 _" j0 L5 f+ q - input4.setText("成绩应为数据");0 o9 m8 S% F; }- O8 G! ]: n* ?5 f0 c
- scucss=false; / q- d% g0 W+ {7 v! d
- }
+ i7 L- [) c; Y3 c( S0 B$ |9 }' n - if(scucss==true)1 A; K( n8 _0 `3 K
- {& S4 e; Z g& j( y% P
- SI=new StudentInf(xm,xh,bj,cj);
% [$ r1 T; {) C* C - Insert(SI);
3 S# L$ v4 K- u5 @6 ` - }% l- G- z7 F" k( {
- }
! e0 n# c5 }6 F! m - if(e.getActionCommand()=="修改")6 s2 g. F" p- {0 Q0 ~# c
- {
1 F- r1 _" e; k: p - xm=input1.getText();9 U% w H' B. x- F1 B9 p
- xh=Integer.parseInt(input2.getText());
: T: x+ @2 x* z$ ^ - bj=input3.getText();% T, d$ l' I% h8 F% ?) I7 l
- cj=Integer.parseInt(input4.getText());, z; i! U: f% D1 G
- SI=new StudentInf(xm,xh,bj,cj); ]( R/ N1 @+ n" X
- StuInf.setElementAt(SI, mid);9 t. O5 e4 w1 j
- btn3.setEnabled(false);
8 Y1 y$ d' `, Q+ @1 n# L n { - }. S& l7 k+ l- n, ^% i
- if(e.getActionCommand()=="删除")* Q h5 [ R7 c* L6 g2 v
- {3 {3 T _" Y" m0 L; i3 i
- StuInf.removeElementAt(mid); ! o( e2 G$ }2 U3 e# Z2 h
- btn4.setEnabled(false);
" @9 w0 V8 V" j& z& ` - input1.setText("删除成功");
5 e% B. g) x' s* s3 Y5 q, K - input2.setText("");" t! V% o" `* c! q: _7 P- E \/ \1 G
- input3.setText("");% G! E3 x4 K# M; H1 ?. j8 }
- input4.setText("");
( S) ^9 o6 |" o% ]& l) Z1 m( h - }, b4 C+ T5 b" \4 b* m
- if(e.getActionCommand()=="查询")8 O6 O3 I9 x4 Y1 x4 I+ f( c
- {8 Q7 _2 I+ O/ @* ~3 W- N9 Y
- boolean right=true;
8 D$ e- x* @, d5 J* x3 s; I - try5 ^2 Z2 F. n4 I! m A6 }0 M; t
- {) D% c! z/ z; q' n
- xh=Integer.parseInt(input2.getText());
! N: o9 F( F+ p8 O. } E1 |, O7 R - }
' _8 |! ~+ _9 m% v, \0 _6 f - catch(NumberFormatException m)
3 _: y- q q7 A* c% o - {
; ~, t/ Q, E( v - input2.setText("学号为空或格式错");
+ }7 X$ M4 w. n8 I1 S* D3 O - right=false;
; F1 R% g; x D7 y$ P; B - }
4 N9 a7 n3 ^' ^ - if(right==true)/ s+ f$ j, D$ c5 R4 h+ T
- {6 [! F* ?; D% N% K# P- t
- search(xh);# Q+ i( q2 z8 M- j
- btn3.setEnabled(true);
4 z3 F& ^$ I1 O3 h4 X3 O - btn4.setEnabled(true);
4 S6 |* i8 p3 M/ W; e; b7 j$ d - }
4 W2 K; g' ?8 s9 _2 } - }
9 m( R* [( ^8 |/ W! X T* G -
3 s9 X# l3 o' C5 L9 u5 k- y - }/ z3 h$ n0 t- c
- //查找方法" X* o+ ?- L+ G- S% h7 n6 S7 O
- public void search(int k)
0 E; E4 I. B! x; x5 u" b0 j - {( U: P* N8 Y5 e6 j
- boolean exist=false;9 Q) l! D4 W9 Q& i% Q l C4 I
- int low=0;
# ^% q4 Q& m2 L/ h0 y/ I v - int high=StuInf.size()-1;
+ O% U+ W `0 U9 W4 |/ l: T - while(low<=high); N) X% t# Z1 Q/ l6 h i) |, X
- {
; L7 w" d4 `3 ?- \; h - mid=(high+low)/2;
% I+ R6 a( k$ I, ~& L) [ - StudentInf a1=(StudentInf) StuInf.elementAt(mid);, P4 w- B: V5 v U
- if(a1.getStuNo()==k)) f2 Q; y5 m5 Q9 q A
- {
6 i' l' d3 J' A9 q! H+ p - SI=(StudentInf) StuInf.elementAt(mid);' Y! `: ?* j3 T2 P/ N
- String x = String.valueOf(SI.getStuNo());
/ n" Q/ q- U1 @# a4 I" Z. ` - exist=true;2 G. u) b, Z- V7 `- y
- input1.setText(SI.getname());
! p8 n4 u6 h/ {- _ - input1.selectAll();) Z2 }3 |6 [2 V
- input2.setText("0"+x);
) w5 N$ N0 g' F f9 V% V9 | r; Y - input3.setText(SI.getClassNo());$ a) c {$ K. R3 H0 v- s! R
- if(SI.getLevel()==-1), ]" Z" S% c' w! O1 ~/ E
- input4.setText("未参加考试");$ U& ]4 z/ e0 Y' s+ T' ]7 E4 K5 b
- else
: X" _$ |! n. D - {
" Q/ r5 \6 P" @& u1 l! b/ k; _ - String y = String.valueOf(SI.getLevel());
, \# ^% S( s6 ~/ E# f4 O - input4.setText(y);
# S) W6 F8 F+ y; W# g( u: i; e - }3 N) _9 V% @2 m% D' ~3 G
- break;8 V1 _1 V x# A3 V. `
- }; U6 Y+ u) g2 w2 n6 j1 T% J% K
- else if(a1.getStuNo()<k)
|2 D2 ?8 B- B5 _! h8 Z - low=mid+1;
3 Y3 b8 Y" n# I$ O! m8 M. G9 c- x! c& [% O - else
+ ^, U6 j$ i: A" l4 F) D& Q - high=mid-1; 3 r0 ?( J% s+ C4 h8 r0 ?
- }+ \% F5 W. V; H! j4 r
- if(exist==false)6 H+ o t' C* |
- {
. `3 J. I1 V% Q4 r7 P* n' C - input1.setText("无此学号学生信息");
7 K+ Q4 ?# h- k- a - input1.selectAll();$ g4 z5 R* m3 B7 P2 ?
- }# X% y* z- y( V! q
- }1 m1 A8 w, _ ^3 q$ b1 A: R" D4 \
- //添加方法
7 c( D1 D0 s& S, r. g0 ^$ U - public void Insert(StudentInf q)2 W/ ]" ^( Y9 X6 Z; V
- {
, K. C! u2 c, C5 i. _ - int i=0;
1 P, f- E, Y9 M F1 d/ k( l - , L7 ~5 R' Q6 P: W% Q0 [9 H- A5 g
- if(StuInf.isEmpty()==true) . v+ p2 \* i% ^, X1 z0 G
- {' V) e/ I, l2 }9 W! i6 D7 T3 p7 \
- StuInf.addElement(q);0 Y' e! O2 \9 {: @' D& {
- input1.setText("");; e, X( H# A, x' w: w
- input2.setText("");3 x. K; H7 K3 N$ X t8 N2 f; B
- input3.setText("");/ z# \4 E' r- s( |! x
- input4.setText("");
/ h, c& I2 i# z; m - }9 z' U7 P3 u$ g2 T
- else0 I4 s( o' e: O7 K; O( t
- {
' q0 R1 x; N v) u) _! n0 n$ T - StudentInf xh;
) c. W9 c' M, i! I/ `4 Q! `8 I - xh=(StudentInf) StuInf.firstElement(); `9 {4 x5 C0 S( }! V! Q0 o
- while(xh.getStuNo()<q.getStuNo())+ F, g j# R t; y& c
- {
7 p6 `2 C# |5 R - i++;% M7 A# \, Y4 j1 e0 x
- if(i<StuInf.size())
3 R+ a4 ~4 a: g* n2 a( n - xh=(StudentInf) StuInf.elementAt(i);5 {3 f7 U: @, g7 S$ i- P Y) [8 Y! {
- else
. n/ E6 T2 K6 } - break;
: Q% u, P+ R# r - } 0 Y" o! b5 l+ z5 ]& l
- if(xh.getStuNo()==q.getStuNo()). \4 C6 {! I% A5 G
- {% V6 {" M8 L* j8 `0 M
- input2.setText("此学生信息已存在");
+ z9 k1 |# `+ |" ~6 G4 B' t5 Y - input2.requestFocus();
# e! i& R* x0 L - input2.selectAll();' B7 s; _/ g" m: n, j: o
- }
) Q* u( j' H6 |7 P) y9 ~3 } P% N - else , `7 e# d( Q- K0 n+ g
- {: ~. h" j0 w, C3 `& w1 a% k" J& i
- StuInf.insertElementAt(q,i);
5 O% i" }& I6 S6 u" q - input1.setText("");
$ \" I3 ^8 E+ P! [8 J - input2.setText("");1 t+ k" e; F9 A; i' J& P# H3 q9 ^
- input3.setText("");
; P* ^: U2 ~ Z - input4.setText("");4 D. H/ L' O5 P1 t! a
- }. L/ k& y& y7 b1 K s, Z% ]
- }
; l0 X7 K1 i# u( Q - }
; W/ @9 |$ A* l1 a1 _, ^/ d+ E' r. ^ - : T; |$ Z) v1 X( l3 N, g! G/ w" E
- //异常类
3 v6 p! [- _) I. `* | - class OverException extends Exception* u! k' F( J8 S9 Q1 \
- {; |1 T }3 e* g) r
- String over;
& V- f; B- ?8 ?% U( q2 L) I - } 9 y9 r& I8 p, w) ?9 C1 C# N
- class EmptyException extends Exception
* ~) N2 Z4 v$ S: _8 w. J( i - {
* [2 i! p/ _5 Y - String empty;
" S# O" p# T- D: t - }
( C: \# X; X$ [ - void XingMing() throws EmptyException+ c t3 m2 l# L+ Y! a- t( E
- {
- z: r' a) G; W- G1 l, V - if((input1.getText()).equals(""))
( j! \% ?& ^# T - throw (new EmptyException());
1 g6 y b( S/ P( C: c* \6 l - else! U* {$ \8 E" r. g* l' ^
- xm=input1.getText();7 Q. p; |2 |# g) j
- }
+ o9 C4 l% h: I8 r- R# m! [ - void ChengJi() throws OverException,EmptyException
+ H0 A8 q, v3 Y4 ]* f - {
! r+ ^9 b5 ^- A0 `' f4 I - if((input4.getText()).equals(""))
" t/ ~3 Y2 w9 K6 A6 }8 p - throw(new EmptyException());# Z* Y* P$ N& v# v1 F( Q; X
- else% [& f, }) l' \+ ?2 C2 q
- cj=Integer.parseInt(input4.getText());9 H9 o3 R D, h) i, Q$ P" k
- if(cj<0||cj>100)
8 q2 a# x5 j7 D' u3 z0 [ - throw (new OverException());
+ N3 { z: L5 k) j0 w9 \ - }
/ ?) J! X: Y5 T0 j# D - 8 M; Q. E5 N2 ]4 w
- //学生信息类
) Z, v3 e1 h2 t5 A4 {1 X( |) U$ Q - public class StudentInf$ s/ ]6 E1 i5 F- Q0 l3 R
- {% N" y y5 p2 O# M/ \/ S) z Z
- private String name;
5 J( ^; ]$ x3 H$ \, E2 k - private int StuNo;0 f( E I/ e2 M# K; K& k
- private String ClassNo;
0 v X- R( n) y9 g+ V+ c - private int Level;% i. ~- t; e% l2 m$ Y
- StudentInf(String xingming,int xuehao,String banji,int chengji)
/ P h" t& q/ V3 _ - {
# C9 D! l: b; w2 L, y - name=xingming;
4 w! W6 X( H2 | - StuNo=xuehao;" h p% j0 o/ s) S+ C" _0 ?
- ClassNo=banji;0 R6 j6 b* }0 _: L' T1 C
- Level=chengji;
9 Y8 L! L! r0 o' {" ^ - }7 @/ H2 I! \4 @4 I" `/ `, L* R9 B- p/ V
- public int getStuNo()+ T* f8 k( D. }% U
- {* X' y5 b$ s7 Q
- return StuNo;$ Y! D% g( R8 _' M8 R
- }
# h/ B8 v$ V2 I3 M9 _- c - public String getname()
, b; d) K3 L! b" k - {/ ~& V6 [! @& [+ x. X3 Y/ I
- return name;1 `+ Y: P& S9 K3 Q
- }
! t2 X0 d: Q( h+ y: a - public String getClassNo()
, X2 S/ A! G M4 g: e; a( _ - {
+ Y9 A$ p# w2 R* {$ ? - return ClassNo;" g# q, `& }3 ]5 h
- }
: T' u4 U& K% ?! K! i - public int getLevel()- w( a) d1 I2 n" x8 ]
- {$ {! p9 ^2 i, ^8 A! B* g" }) i" g; k
- return Level;3 J8 C- T. S& a. } |( H$ y' {
- }; P, G$ B2 i8 ]2 Q
- }
# j; Y s4 O2 h1 f1 G( J
+ b! N. E- P9 n; _0 W6 J# }- }
复制代码
5 f+ ?5 O4 d5 X; f9 x3 H( r& y
" p. X( c y' {" m3 M |
|