|
该用户从未签到
|
- import java.applet.Applet;
; q1 B! m* V" Z - import java.awt.*; \9 X) a( l/ {
- import java.awt.event.*;
9 H& |: d$ d I - import java.util.*;
9 ?0 v j* g3 o E - import java.lang.*;
0 h+ r0 @2 j' }: X# q Z0 A
6 Q1 @9 H3 W' O. {- u. I- public class Students extends Applet implements ActionListener
- f/ }3 R1 r k3 M- a - {
$ o1 v3 R' ^* J" | - Vector StuInf=new Vector();
* T0 \& k, T) h - StudentInf SI;
% L# F% r* j) K8 D# g0 { - String xm;
' P! d4 l) q* Y% O - String bj;
" P6 | K% Z( R. ^9 U- t" i - int i,j,xh,cj;
) T% g( u; E) B0 Y" t; V - static int mid;9 V9 ~# n( K9 O* h2 h3 x
- Label prompt1=new Label("学生成绩管理系统");
# g/ F) L. o! P f ]; N1 C7 Y) H2 ~8 a - Label prompt2=new Label(" 用户:");" X! v3 @+ g2 A0 i, N
- Label prompt3=new Label(" 密码:");* r% U( ?+ K( `8 ~9 E
- Label prompt4=new Label(" 班级:");% |* _- D* u# V# D# }/ M! l3 ~
- Label prompt5=new Label(" 成绩:");
; |% m( B, R0 M, n. r: D9 P3 p+ p) { - TextField input1=new TextField(8);! y: ~1 h9 Y: ?) H
- TextField input2=new TextField(8);
% d4 E8 D: s7 U8 D$ [1 h) u! S - TextField input3=new TextField(8);
( x N% k0 I8 L- v/ g - TextField input4=new TextField(8);3 _% z8 P8 A7 K4 U- a4 p6 r
- Button btn1=new Button("登录");( B: |! ?6 d' y3 Y7 f" v. g
- Button btn2=new Button("增加");
; S9 t) Q& o! s4 |; \4 s* m9 {9 O - Button btn3=new Button("修改");: f$ H& ^1 a+ l% B) X+ Q+ M5 j
- Button btn4=new Button("删除");
5 A/ K9 _* @3 x -
& h2 [" {5 [- _0 N7 E: z - public void init()
; [, t3 w* W: N: f# `" v! v7 @ - {
6 N! p+ v$ e1 B0 A - setLayout(new GridLayout(6,3));6 N. x' g( _1 T {
- add(new Label()); b9 i1 W: e- d4 G' p# U
- add(prompt1);
8 m0 Y/ T& |; x: O' w' F - add(new Label());8 l( H, t( w- t' ]; N1 Y" s
- add(prompt2);; C; H5 E- | [1 ]
- add(input1);- ~2 ~" b) @! u1 @1 y1 Q% ^
- add(new Label());6 Z9 J" @ D. f% S
- add(prompt3);0 \% c" F2 r, @
- add(input2);( t4 `& f- K0 Q% {' s- a+ n0 X* ^+ n
- add(btn1);/ W( m7 h9 Q" C1 w. k }
- add(prompt4);. i( p8 x' F5 ^- B7 w! j. j- Y+ ^
- add(input3);7 I# t" l) C: F6 P4 O3 j
- add(new Label());# c/ m( x1 `: @
- add(prompt5);
4 P4 B. X4 F0 g; Y - add(input4);, E7 d. }/ X+ \; ^
- add(new Label());
: i: q3 n0 R6 g: g. U* z - add(btn2);% O1 d+ g' q8 ]) [9 ?6 \
- add(btn3);
$ a0 w, V5 k& F0 e* E H5 u, } - add(btn4);2 Q/ S# f( A- I, u
- prompt4.setVisible(false);& P, k; ^$ O2 E/ q1 I( P: b, |
- prompt5.setVisible(false);7 L# v7 ^, H4 c$ s/ T
- input3.setVisible(false);
6 V( F1 x U4 u7 Q# r - input4.setVisible(false);
! c9 c. h: p8 G; Z3 H$ d* q - btn2.setVisible(false);; A. S- R6 v4 D+ x9 C( e
- btn3.setVisible(false);
: q8 V: {, P: R1 h3 @# c - btn4.setVisible(false);
6 d% H3 \ }, z5 n7 g+ Q5 B2 n - btn1.addActionListener(this);
6 C4 z# K8 }; {0 h - btn2.addActionListener(this);) Z5 E, C0 h6 L1 ~/ p
- btn3.addActionListener(this);- n( X. V, U+ f2 h+ V
- btn4.addActionListener(this);! T& G$ K+ s& ~# T" N) w9 A
- }
; V9 b1 S& O, e - public void actionPerformed(ActionEvent e)
$ h; S5 h- `! q% W* F - {6 P. o$ C6 Z) ~8 ^
- if(e.getActionCommand()=="登录")
. n6 l% I0 J( Y! s) {% s' h9 S" w - {
) b) ~0 z/ Q% b7 }, _5 G - String a,b;
9 ? W7 S7 e" ^2 M" ^' S - a=input1.getText();
( \9 c4 _9 l5 K0 f$ k+ b$ N$ ~ - b=input2.getText();$ l+ w: U5 V# Q9 Z, }8 z- L
- input1.setText("");
: K7 o3 {) G2 L( [; q0 U' g1 T - if((a.equals("12")==true)&&(b.equals("12")==true))0 Z; K3 Z( }; L
- {
% D% P+ ]8 w! x. T) k, l: K3 F - prompt2.setText(" 姓名:");+ i) T3 N7 F% {9 l8 B, _
- prompt3.setText(" 学号:");
, E; G. L+ N" @- \/ B: D - prompt4.setVisible(true);2 |9 [' k" L5 `" z) E
- prompt5.setVisible(true);; }2 J3 h4 Y9 a$ K1 Y
- input3.setVisible(true);
1 N/ t: L% u O T6 w - input4.setVisible(true);+ A$ `8 R: F& p5 f
- btn2.setVisible(true);7 X$ C8 M: J F% ~ ?
- btn3.setVisible(true);
0 \* J- J# U; i1 b0 ]( | - btn4.setVisible(true);
9 l4 W2 `0 \1 b4 e4 q8 G6 F6 u/ Q - btn3.setEnabled(false);# q, o4 }' ~! t0 O$ @
- btn4.setEnabled(false);
; y0 v, U' b/ Q - btn1.setLabel("查询");; K, w" ~8 m# _$ O' O" t1 p. F
- input1.setText("登录成功");* N0 S% J( M: h7 w
- input1.selectAll();
7 c& Z( ^5 ~2 @! I' x! ? - }
|7 b! X: S* W* I9 P2 H; L% t - else
3 h6 {6 ^8 ~- ]" b& N" b - input2.setText("用户名或密码错");: K- N, \+ `' m/ ^* N0 l( `, T' r! R" n
- }
) n/ n+ k! n" x% J( l - if(e.getActionCommand()=="增加")2 i) O0 N3 ?$ g6 \1 M5 d# D
- {# `, f- B( I6 c1 @* M- \
- boolean scucss=true;
S5 @8 H( U/ }) b& w - try7 b& z, ^; v: H* s, |6 {3 H) W
- {3 M% x1 {& T7 @3 z! D
- XingMing();$ v1 ?" y* p7 j. a1 u1 T t9 e
- }
8 v2 o+ v3 d1 C% e - catch(EmptyException as)
: S' V+ a7 K! d& c; A4 H* o - {
8 M2 j3 J7 g6 j; u: L- ? - input1.setText("姓名不能为空");
9 ?( d( k* w( ~7 W. e - scucss=false;
8 h! J- ]. A+ Z- P u - }
- T# J, }- H7 G. `7 O: E- p/ ^ - try
! ]1 ^* `( S, N0 t9 b - {) d1 {5 U6 `0 V
- xh=Integer.parseInt(input2.getText());5 b4 ]0 @1 G4 d
- }
; {& M; b2 A6 V) b( [) f - catch(NumberFormatException m)
( H j7 V# W; @; A: Q. m. A9 \ - {/ h0 [# j4 r' s- Z
- input2.setText("学号为空或格式错");
9 v' n# B/ p3 g7 u: C$ j4 d2 @ - scucss=false;; ]) o1 S; r4 k' I$ h |
- }
2 C/ X5 |, g: l, o! {, p4 A - bj=input3.getText();8 m, [4 _2 ~: `; ~5 B+ n
- try' i: m! f% G& L, k1 ^- W* i& e
- {! X& h- G4 _# Q6 e2 v! ?/ y5 x
- ChengJi();
0 O8 O: ]5 Q! }1 M8 j& p - }( n- j& y9 Q3 N- q/ x. M, A
- catch(EmptyException as), s, U6 G) S3 r6 p0 W% \! L$ u
- {
/ M# J }, P- K9 H- ~ - cj=-1;
: U& T5 x1 A3 o7 F0 f - }
) b7 ]5 R1 u. U% a# v/ ^0 U& f - catch(OverException dd)" t' O" J" P/ u1 [: I# Q/ c- e
- {
! e. M3 h" d, K: I% m W' U0 |$ {! u - input4.setText("应在0-100间");
/ i- ?. S; ]4 G, w - scucss=false;
$ k6 z$ V4 p' z2 k: K - }
( E8 n" D1 w' u! E' q2 i - catch(NumberFormatException cm)
! C" t0 k* j8 M1 ~" c - {
4 k; @' J1 P. W) @1 J0 z! ?7 h - input4.setText("成绩应为数据");) d( q* q4 @/ M [& ~" a+ K. X0 C
- scucss=false; : {/ V' j0 r6 v" C; e
- }
2 G! u4 x9 P1 N" b% l( ~ - if(scucss==true)5 \: v4 D- G! S5 ]
- {
l( q0 d: A7 m. q# _% }: Q - SI=new StudentInf(xm,xh,bj,cj);
; h, P, d9 f7 V! c& v - Insert(SI);4 ^2 l5 |2 ^# ~" j. }3 I
- }
. M6 L$ W4 k* S9 _3 }, a; P - }
0 Y4 H6 v( e, p5 T- B - if(e.getActionCommand()=="修改")
: I9 f0 L; K) g. F, { - {* @, Q- G& v% S+ G) X' u- A# q
- xm=input1.getText();
4 n; P3 k0 E8 j* p+ F8 r - xh=Integer.parseInt(input2.getText());
* N5 X7 V# C) D% m/ M+ L6 z - bj=input3.getText();
: f% p; I) U5 Q) l& X - cj=Integer.parseInt(input4.getText());
: s4 I% h* K3 g% \. }0 B! A& S- u+ q - SI=new StudentInf(xm,xh,bj,cj); v1 P/ S- q6 l6 S2 Q+ n# t
- StuInf.setElementAt(SI, mid);1 G& G3 ?( s+ j& ?. Z% Q7 O
- btn3.setEnabled(false);- W8 r& G! E5 v0 E- s. O
- }
0 z! e* Z" z+ M. B - if(e.getActionCommand()=="删除")4 ]. m* ?( R# Y1 ]' d1 \4 z; _1 g, z2 G# f
- {
! g4 { z9 p' Z6 r4 p% a( s- w - StuInf.removeElementAt(mid);
0 p6 K6 h/ M' Z G7 u a9 h - btn4.setEnabled(false);
. j* N6 @+ l9 V' @; z- E' b( F - input1.setText("删除成功");
B, W' W# x2 X2 B: H E5 O) R - input2.setText(""); \) o6 J& n" U* h& }$ Z j* a
- input3.setText("");
0 n, N0 B. ]; _# e2 c - input4.setText("");* z, f+ S7 {, S6 i; i! d. \. p" y& |
- }
8 U3 o f# x: Z: p* v - if(e.getActionCommand()=="查询")- S$ q* @( e% R+ K
- {
% R/ l0 Z6 l l8 C - boolean right=true;
- [. w9 m! g4 j1 ^. ], k - try
! |& f6 A3 L9 [* Q - {: d5 ?5 P+ ]- I& W- \( O
- xh=Integer.parseInt(input2.getText());
1 m/ S( V% N1 W0 {% ?7 _( L$ Y - }* f1 r B$ Q$ ^* g" w
- catch(NumberFormatException m) B9 o, C( a' D' u5 u0 Y. p
- {
1 S4 g, R H+ g6 D/ ~7 H - input2.setText("学号为空或格式错");
) G3 y1 a6 y# e$ Q" G- p - right=false;9 Q: G& d# F- q' E( D" e
- } 1 x# S" F7 u# p' f* W* T# T
- if(right==true); Q% L2 g4 L6 o- ]3 A9 T
- {3 E6 b$ ~; B- d; c" ^1 ]) N
- search(xh);% I8 `/ U( `7 x8 S% ]: S
- btn3.setEnabled(true);
v3 P+ Z0 l: p- E- W+ D( R1 h Z - btn4.setEnabled(true);
0 ^. V% V9 s& z3 V. | - }
: R F3 X% [" ?2 v9 X9 e- P - }/ V. n+ G& ~- v
- , [7 V& x: P1 N7 b# r
- }$ ]9 n2 ~( M. @+ Z- I3 x5 S
- //查找方法; d- z* C2 m- n4 h- o5 |+ T4 P
- public void search(int k)
( r+ M9 ~' a$ C3 T6 M8 X. E! Q - {
2 {$ z9 m3 ?. V* }$ s8 K) V- r - boolean exist=false;8 G9 T% K0 M0 h$ W. b+ u
- int low=0;
- V) y. K8 u" a" V - int high=StuInf.size()-1;, l8 G1 W' e1 v
- while(low<=high)9 q0 i5 c8 C% ~; I$ K. k( e
- {. Q' H3 H0 {0 U$ \
- mid=(high+low)/2;7 D6 u" h; ?) u/ t+ D! j; W4 y
- StudentInf a1=(StudentInf) StuInf.elementAt(mid);% M9 @0 L5 ~8 R+ f$ P) v5 _- Q) V
- if(a1.getStuNo()==k)
* r% ~% h. e) I/ q) x3 E/ j; y3 j- X - {, K- ?: y; w/ k$ w
- SI=(StudentInf) StuInf.elementAt(mid);
0 F4 \$ J* } c% v8 ^; h7 ]2 J - String x = String.valueOf(SI.getStuNo());
: m6 @: g1 l2 L% b' Q9 X - exist=true;
' }( S c6 j4 A, K - input1.setText(SI.getname());
7 G& I0 \- d! Y2 U3 z- D - input1.selectAll();
- F1 j: j0 z! `% n$ Y1 N* u - input2.setText("0"+x);
6 n$ z# J8 d% M - input3.setText(SI.getClassNo());7 }6 V% |6 k- @0 s1 p
- if(SI.getLevel()==-1)
G' Z# g: A" [8 `. s1 e, V2 Q - input4.setText("未参加考试");
3 v' M! I4 @! z; n - else
4 L! @0 C+ d x! _7 E3 [3 J1 H - {, x& B6 G1 v+ X5 h7 v
- String y = String.valueOf(SI.getLevel());5 F# n4 O% L1 C( z) Z6 [
- input4.setText(y);
+ d6 L& W: }) x - }# P* J0 ^# x( @( v
- break;
5 m- W4 H L, W( l K O! P - }+ R* [4 t) b/ H: I. n
- else if(a1.getStuNo()<k)
R5 g5 d# j. R; }4 V4 M9 g - low=mid+1;
- B" ^2 L2 n1 g C5 j' i4 G/ V1 Q - else
2 d2 ^7 x- M6 N$ e9 o5 j - high=mid-1; : p/ t x; c. `! l( Y: H- }
- } J/ {) C0 [3 G0 l6 ?/ Z
- if(exist==false)+ u) y! d2 W4 q* t& m
- {3 w& k5 ^7 q1 r. D$ J0 T& m7 A
- input1.setText("无此学号学生信息");: e2 X8 _3 A, h$ u1 a5 R8 M
- input1.selectAll();/ F( N! u/ T3 g! V: p' j
- }3 Q: {" B& p# I; P$ q% m8 {- k
- }2 U7 p& h+ m1 O& T
- //添加方法4 X9 x, k" R/ t! y' l' _
- public void Insert(StudentInf q)/ v0 `$ x4 D( u* [6 ?6 Y- q
- {: ~* P7 l1 q* D3 u
- int i=0;
5 a5 N+ I% a3 Z* [! ~: o -
6 ?/ s- b) f4 e$ T8 U# W- c* ?9 O+ e - if(StuInf.isEmpty()==true) ?1 [1 d" ~' h: v' X$ S* x1 F
- {
, ~; ~+ q# H/ v' `% g$ |8 O - StuInf.addElement(q);
! @" ?3 a) o* u' k - input1.setText("");. p' I: F" c5 a) i0 ?- q! m; J$ Q
- input2.setText("");# }1 i* l/ ]% @# `* v% w
- input3.setText("");
. f2 P9 ?! T2 U( |0 G - input4.setText("");
/ o; q# B6 A/ r - }
]4 p) ~2 ~. E( C - else3 d) u, f5 s5 |
- {. S# Q' c/ W' O0 O& U9 b. U
- StudentInf xh;
& z( l$ x3 y+ t: i/ s, y5 P - xh=(StudentInf) StuInf.firstElement();& I, Z- G" F- s) {
- while(xh.getStuNo()<q.getStuNo())% A* O$ z2 \: b" `/ {$ o
- {8 }# E7 s# j$ [
- i++;# G" C* L Q2 [6 \& _& G
- if(i<StuInf.size())
; R4 T. d3 |7 L5 Q5 E7 r0 e - xh=(StudentInf) StuInf.elementAt(i);0 D( [7 p" h; o7 E
- else
% t2 s: G$ i# k, k; m H* S - break;! S# H |1 a; X; A( b
- } $ p3 |# x3 A$ M! U
- if(xh.getStuNo()==q.getStuNo())( V) J- x8 q {- v
- {& n: A9 N2 A1 n5 N
- input2.setText("此学生信息已存在");
g+ D: q, f T: K - input2.requestFocus();
% p6 `# B3 x1 [1 l - input2.selectAll();- a. O. N( ^! `- q1 \: s
- }
( Z- K2 a- `* @$ R2 i7 B: q - else 5 j) P. S) y4 T
- {6 @5 k7 x6 G# |7 k4 T
- StuInf.insertElementAt(q,i);
1 c) _. U4 G. E& V' x - input1.setText("");
) C% F+ b5 j" V5 g - input2.setText("");# B8 Z- W& o- ^) i# J7 S
- input3.setText("");& H; r; Q1 B- J4 _8 b, s
- input4.setText("");' R! j7 e6 `, ^. X% j, W
- }, r. @) h8 y$ r5 ^6 o) N0 t! j
- } & T/ Q( k# g% a* W, Z
- }
( A* P% R! `: G Q7 d - + y5 Y% E) o9 t' I1 A) r# ?
- //异常类* A8 n( q. y3 n8 e$ N
- class OverException extends Exception& r; ]( f! T/ S6 S& \) y) m
- {6 D* _, _# H# [
- String over;+ p( P! F$ p* ]6 P! ], y6 X
- } ' x: r# M- h( ~. H
- class EmptyException extends Exception
9 X9 P3 W6 A* {% C; l - {7 T+ r% ~) `3 w& n" `% [5 ^ b& h; ^
- String empty;2 z+ D F7 `- U! K
- }
. K3 y3 r" ~% G# h - void XingMing() throws EmptyException
9 ^3 w, W6 R& A - {
/ `! c, a+ D! S - if((input1.getText()).equals(""))8 m+ q8 U9 f1 c& r8 O- `2 z
- throw (new EmptyException());! J5 x! z( _1 g; N! \
- else
9 Q! F. H2 x$ H9 i" r3 G - xm=input1.getText();5 I) o0 h9 [) Q1 o8 H f
- }
6 _/ l0 { f$ p2 N& p3 P - void ChengJi() throws OverException,EmptyException $ u: q- l( R" `$ Q* M2 Y
- {
9 y& u9 t6 j" ~: q - if((input4.getText()).equals("")); A6 |7 P7 p' p- }' T
- throw(new EmptyException());1 N; s: Q6 }- C0 J1 S$ m
- else
/ P/ q6 x9 m' A' @2 O, K6 b - cj=Integer.parseInt(input4.getText());
, s( }. G$ a( K( p) v |' ]: U5 G - if(cj<0||cj>100)! _# |3 l4 C: X7 L4 Q1 f( u
- throw (new OverException()); f- ?$ k5 M$ `% ~, e% A" M& [$ C
- }5 T M4 f& {3 }0 `
-
6 a5 E9 c0 d d - //学生信息类5 p c/ T. G6 b. e
- public class StudentInf
: x% Z: s5 x3 i H7 U - {
+ j3 A. V' Q) {: a( M8 W u - private String name;: X/ p0 y) O; @- r6 j+ l4 K7 A0 {7 D& b
- private int StuNo;- z4 P1 V8 z3 }$ `- \/ r# f
- private String ClassNo;% s& `0 K3 N) s1 P) x% l
- private int Level;2 h. d5 u) d6 y: Z" d9 d5 K
- StudentInf(String xingming,int xuehao,String banji,int chengji)
9 n. b; d J B) x& p - {5 h7 H( Z+ ? J( M; b
- name=xingming;" d8 o0 F5 p0 D4 p6 C
- StuNo=xuehao;
& E0 e; y; _3 ]! J! [8 ^: e5 l9 H - ClassNo=banji;6 o, f1 Z, v7 e0 B, E4 B. t2 h
- Level=chengji;
. I" D2 e* |$ Z8 j- O! o - }
: J5 i) q8 l$ V2 r - public int getStuNo()
) w3 T4 I |, a3 P! O- H5 e - {
0 i* K" A# w5 F* J* ?" ?( E/ l8 l - return StuNo;
. }5 q9 d' g4 h# a+ d7 ? - }# b* _: [, @3 }9 ^ h
- public String getname()
, F" x( }6 W( E% U0 E - {
( Q: \2 R& g, D7 m* ~: |) K! x) `* V - return name;4 H+ l l. I+ w* s# o1 F
- }( t- v( P& N3 N* v7 }" ~6 s+ v3 V
- public String getClassNo()
* ?. |# Z8 l! V4 G+ n* Q; @& W4 d - {
% K, q' _% H F6 T2 [' `( Q# ? - return ClassNo;
& O: Q2 f5 L/ R; { - }
% Y3 Y5 f2 [: T0 \) c% V: e3 B5 N - public int getLevel()
# ~$ |4 {: m8 [; k# `# i3 a9 \" Q* j0 ? - {9 \+ O3 A, N0 S, s: s
- return Level;' E+ @7 }8 q/ M- Z* J
- }
2 `' D+ V8 J$ C& D* a - }! \. }' n8 W/ ~ }' a; J: C4 f
8 g# ^. ~. v% \* q( u7 b- }
复制代码
$ P5 z K) \; Y! I# e
5 k5 l4 @3 k9 [$ W2 z |
|