该用户从未签到
|
- import java.applet.Applet;
4 i/ ?1 E0 M5 T - import java.awt.*;" j2 {2 p0 e% b' O6 o+ O: f
- import java.awt.event.*;# Z: q( R% _6 V
- import java.util.*;
6 Y# S3 Z" C) m- d! I - import java.lang.*;+ ]# D7 [4 U' m3 ^( S6 T- Q3 ^% t t
4 q% f( {2 ~0 }% P+ X0 \. |- public class Students extends Applet implements ActionListener
# C* N, n6 _7 F2 i2 S" p, U$ t - {
, f! Q$ Q! p; `( O - Vector StuInf=new Vector();
' N, x% [; {* f9 r3 m- r% B - StudentInf SI;/ I0 z0 y. L8 x8 u" f- f) |; C- @3 t
- String xm;- {" l8 B( n2 }" V
- String bj;4 e: ^4 B& v7 U H* b
- int i,j,xh,cj;5 e( G" B- w% h+ H% u
- static int mid;( g6 m- W' t6 D
- Label prompt1=new Label("学生成绩管理系统");7 W, B! s2 m, _9 E
- Label prompt2=new Label(" 用户:");
* z! z7 ]! B4 t - Label prompt3=new Label(" 密码:");
- ~4 a" V& W; ~: P% g) q - Label prompt4=new Label(" 班级:");
; D( G( `& _' \ - Label prompt5=new Label(" 成绩:");
! G- s+ `; R9 Q7 M1 {1 c - TextField input1=new TextField(8);+ R, }' n/ l. F% @! @: h
- TextField input2=new TextField(8);
5 T: e1 k7 b) d7 r/ r, E% |. v' c J - TextField input3=new TextField(8);1 V2 l1 \6 D, ^* c8 c) W* d
- TextField input4=new TextField(8);
: D4 ^. E, e7 r3 k, `" o* Q2 N4 W" D - Button btn1=new Button("登录"); w, B r1 ~5 x
- Button btn2=new Button("增加");
% C3 ^5 O8 T2 l8 M - Button btn3=new Button("修改");& G8 z, N" E7 O. Y' P1 ^* T" m/ l
- Button btn4=new Button("删除");
, ] P5 r( g( X. Z+ a -
( w5 I0 P$ D9 k! u4 k& ^' j: y$ F - public void init()- _# `8 C& L. G9 T+ a; [
- {7 d" c, F* b# p7 C+ v" j
- setLayout(new GridLayout(6,3));. u( c5 @+ s; ?% v. _
- add(new Label());
t R! a# ~9 D - add(prompt1);. Q; A# [! H1 a% n+ U, s) [ J
- add(new Label());. L% v8 V! Y- k; t2 q( U2 }9 d' ~0 o" j
- add(prompt2);# Q, F0 A$ U6 m3 g; }3 [ c& a
- add(input1);) G: k) g6 w' r y. ~; V+ V
- add(new Label());9 y: p) r7 o# Q# ^7 ~2 q
- add(prompt3);0 S/ d! c( w8 a; J
- add(input2);
/ z3 t5 _' c* E& `7 y4 V - add(btn1);0 i {/ e& Y: [7 ~) v
- add(prompt4);$ W6 {5 O- c7 t' u, N: X# _
- add(input3);
, Y3 i+ [2 I1 E3 D1 W - add(new Label()); ^7 ~+ }5 W+ u
- add(prompt5);
/ O! A8 O, c2 K2 J" f - add(input4);
3 p/ I% d l q4 S& D9 M - add(new Label());/ U' ^9 d5 U2 u* Z5 b; }0 N# O
- add(btn2);, C: A [3 Y6 z$ y. ^
- add(btn3);
; P3 B% `* n% C0 T) p3 [ }4 u - add(btn4);
" J4 T5 i6 L) d& c5 U9 C( P4 T, {# _% r - prompt4.setVisible(false);
, f- ?: s$ h; J - prompt5.setVisible(false); Y. j/ H1 V! A# U* G
- input3.setVisible(false);& g: L i, O8 v2 G& O% Y2 U
- input4.setVisible(false);
/ ~# Z) |1 F9 P6 c& f6 E& ~ - btn2.setVisible(false);
C- S/ Y7 |4 K - btn3.setVisible(false);
1 `2 R, p& w& r. R( N: Q6 H - btn4.setVisible(false); E" J7 ?* C) V$ B8 P6 C
- btn1.addActionListener(this);6 |7 r$ S8 G$ V3 C# z
- btn2.addActionListener(this);
. t/ \! |/ C, R9 J* y H4 D: a - btn3.addActionListener(this);
8 b1 t& s) n* \3 ^2 M% g" F" B - btn4.addActionListener(this);* Z5 s; o/ ~- \- \- A) V" ]$ `* _
- }1 {9 e6 Z1 w8 I$ i
- public void actionPerformed(ActionEvent e)- W/ n- |; T% H" ]! k1 v3 p: P1 P
- {2 j$ \4 P1 J2 B j$ K x( W1 M1 f
- if(e.getActionCommand()=="登录")3 _2 p: B3 L) z! ~4 l4 B5 v6 R
- {, v1 ~! \# d/ `. ]: V
- String a,b;- Y/ ]5 |% \( U9 _4 w
- a=input1.getText();' L m3 G* D5 B
- b=input2.getText();
! O R' w6 j" ^4 q - input1.setText("");, h8 I& x V5 ]) `
- if((a.equals("12")==true)&&(b.equals("12")==true))
" _; e B% [( b4 @# l4 P# a' N - {
- S; n5 U! M7 G2 I( y% L - prompt2.setText(" 姓名:");
4 y' w' ]9 `3 y* d - prompt3.setText(" 学号:");
! `; U' I$ K4 \+ c - prompt4.setVisible(true);
% y- {/ N4 @1 a' f- u - prompt5.setVisible(true);6 \2 V7 l8 Z5 V) V. p$ ?( ?
- input3.setVisible(true);
" J) J H5 _0 S* v. D5 k$ ] - input4.setVisible(true); A8 n& d8 s+ i4 x- E' y
- btn2.setVisible(true);
9 j, B! x/ x/ i1 l1 Z5 r - btn3.setVisible(true);
4 C6 O$ T. y0 e1 f0 A) A* u - btn4.setVisible(true);
0 u0 b2 b( j J0 Z! t5 s4 g5 ^3 ^ - btn3.setEnabled(false);
) P6 t! E$ ]* Q: K4 r7 Y7 `& Q7 D' ] - btn4.setEnabled(false);
( m) J: T$ ^9 O* X( v7 u7 y - btn1.setLabel("查询");
! d, y) f4 v3 D/ g) c/ W5 s) C$ Q - input1.setText("登录成功");
4 B/ i2 i6 ~" c - input1.selectAll();. M4 U# A6 l! x+ X v
- }7 _6 H Z4 {) f+ A M
- else
; F$ \" H* q4 R4 Y: _6 m - input2.setText("用户名或密码错");7 m+ g& d h8 |
- }/ u9 M0 @& [+ e8 K/ r, C: m
- if(e.getActionCommand()=="增加")
( J& V8 I1 q( y& ?" ] - {
- L9 L2 E0 T) K1 A/ z0 |, u - boolean scucss=true;
s& u* N3 `; F& z3 M( J- l - try
) I) J- H1 {1 @$ H! L* _ - {4 O3 w- ^0 V# P3 Y0 `
- XingMing();
! }5 B) R$ m7 b& u4 Z - }
1 V8 J8 Q# v1 p. h) u* y - catch(EmptyException as)
2 O5 U- d" o+ u4 u9 ^# W R" o# o - {
6 \. o1 C( I7 K8 B' J9 H7 v - input1.setText("姓名不能为空");
' ]* a$ [, Z" }7 @6 C0 a - scucss=false;2 v# @6 A; Z* | R" w7 `
- }9 i: @8 j" y% `7 q1 m( ]& j
- try$ M* ] O; m8 M( d Z9 E( y! |
- {
p6 a7 m4 f# u" ?! `# I - xh=Integer.parseInt(input2.getText());
3 A7 p: x9 K3 K2 `+ b2 u - }
/ n: J$ H6 X3 p1 c4 H - catch(NumberFormatException m)
6 `& {# ] `" H- j - {: D) {5 L: m# g4 ?1 {
- input2.setText("学号为空或格式错");
. T7 ^8 j; Z4 s. Y. k - scucss=false;
/ v5 H$ k4 _8 e* b. e - } / B) h3 i( w% y8 t' ?
- bj=input3.getText();
, F2 D+ T. H" L& ` - try
$ c; O9 d2 l m1 {% O4 O3 H - {- L3 B) l T% w! E* ?: E% n
- ChengJi();
2 B5 p1 A# T. L" P0 a+ Z! K: ?& N" R - }' P s9 x7 ]* D* i" ~
- catch(EmptyException as)
4 k! m4 q7 a+ ?: X6 H' z% t1 c: L0 \ - {) ^/ `0 q( l% ^) v7 q9 m1 e! |
- cj=-1;
2 E7 o0 b$ N* D$ }* M2 V9 \ - }
# I7 R) `, x1 R8 Z- \% C: I1 N - catch(OverException dd): E- ~& {) O9 ?! X
- { c+ p. C8 \9 Z0 F+ O+ B8 r- f5 ^
- input4.setText("应在0-100间");
9 ]5 m! C: d) G' W% I* @ - scucss=false;
- o8 T: ^1 S/ ~- L - } g' B$ M% W( }+ _6 C
- catch(NumberFormatException cm)- }- ~) i! W! P% m0 p
- {
) y' y- J: [9 q/ e- C - input4.setText("成绩应为数据");6 X. X! t( T% w: o7 |# s# x$ O" z
- scucss=false;
) w* ]5 c* R) ?5 S8 B( j, V - }- K4 H% A' U" i6 C/ C- e
- if(scucss==true)
& U v) `8 y* n: g, b- x2 A( K - {
( |8 U/ b4 O% H0 I6 A- ]% o. S - SI=new StudentInf(xm,xh,bj,cj); B+ N( e( I0 }$ a/ m
- Insert(SI);
% S! w' z4 Y7 ~1 C0 w1 @ - }/ e! [1 H3 z. l4 Q! q
- }
- L3 S* G6 U; F3 @4 F8 | - if(e.getActionCommand()=="修改")
. @6 z. b6 g9 D8 Z1 x8 h - {& N! e0 ?+ o+ y4 W3 w% G# s' o6 K
- xm=input1.getText();
+ p* r- }0 Z( ~$ V6 L - xh=Integer.parseInt(input2.getText());5 m+ i/ X2 c1 }$ l& {2 \* k
- bj=input3.getText();
0 \) @4 _# Y& i0 ~4 x8 Z+ G - cj=Integer.parseInt(input4.getText()); h* S. S. c/ q9 y: o
- SI=new StudentInf(xm,xh,bj,cj);: f; S1 Y3 U+ H1 ^1 I& {0 A
- StuInf.setElementAt(SI, mid);& ^1 K$ q# c0 y
- btn3.setEnabled(false);3 ~- i* |6 T8 Q# s k+ P
- }
3 _* X. c! G) A4 S0 p' {, ~2 d - if(e.getActionCommand()=="删除")
, u0 u0 k8 c1 w& o {- Q- Y/ a - {
l$ r" T0 ~1 r: I; |) G" m! l - StuInf.removeElementAt(mid);
~" H) G1 ?0 p0 F: q/ C; H- H - btn4.setEnabled(false);
9 u* t) @* r7 l _: Z. J: {4 B - input1.setText("删除成功");7 P! I% i3 q, ^* c \7 |" S7 p
- input2.setText("");5 @5 d3 N o8 D% W' s& ?7 u5 U
- input3.setText("");
8 p4 N# S% q' V( _$ \8 o! q4 x - input4.setText("");7 d A( x3 G- L5 P! r( R
- }+ ]8 f& r6 B J% P1 t {" ?, J! u
- if(e.getActionCommand()=="查询")
' w$ F6 ^- ^4 l8 L - {- {; Z4 Y _6 E+ L1 f
- boolean right=true;
1 V0 F1 u4 V$ C4 j - try
- n! h$ z+ A# ^4 ?8 R) v: H - {" u. x' N! J. z& ^+ p" }' l: o! m
- xh=Integer.parseInt(input2.getText());
% K C2 w4 \0 I) l( N - }- }# _" r" l# ~2 e+ ]1 S* u
- catch(NumberFormatException m)
* d- F0 ]9 \, o; D) [* B9 O - {* J8 e1 P) a% B/ j: s
- input2.setText("学号为空或格式错");
. F3 E3 }9 _6 {# b$ o0 X* X% V+ e - right=false;
- n4 a# I+ o4 L( X - } ( a6 d( e9 c1 j2 e" b; ]& X: ~
- if(right==true)
9 v/ h! \: V: d( U. D! N1 w! p - {8 a% K& O; V0 @( g- M7 t
- search(xh);
) `6 v0 P7 ^* L* F$ M0 P- ^6 A) H( A - btn3.setEnabled(true);, A2 g1 [7 |) f3 I0 R! Y" h0 f1 d
- btn4.setEnabled(true);6 ~- w/ D- Q2 `' T) Z& s4 a" R. w
- }: t; A: O' e# |, ?# ~& `
- }
! j; S% f2 ?" b. F; J# { - 6 l+ I: d1 a w7 h V
- }
* Z+ H' I" H2 y* z- M2 Z2 b - //查找方法
7 l& G5 Z4 {4 {1 S - public void search(int k)3 K: `7 O. b @# A) @) U5 p
- {" ~- I" _( K. Z$ H
- boolean exist=false;
& b0 y$ Q p4 g8 T$ f+ K! F# } - int low=0;
+ |- u$ u; r1 E) W F* e+ ^, x1 \ - int high=StuInf.size()-1;
4 ]' s6 U2 Q& z' L; n - while(low<=high)! n( y! Q) o: w$ H2 b1 {0 ]
- {
) E3 G& L; R, N$ w+ W- U, r& K- h* _ - mid=(high+low)/2;* d9 e( ~0 c: ?1 p! y/ L3 Z' C" M
- StudentInf a1=(StudentInf) StuInf.elementAt(mid);
+ z0 Q4 F0 T5 c2 b8 K2 P \" K - if(a1.getStuNo()==k)# R/ M2 t, m6 c
- {+ P, L; Z7 z2 B$ p
- SI=(StudentInf) StuInf.elementAt(mid);
" o2 l6 A# t! q - String x = String.valueOf(SI.getStuNo());8 T" m4 S5 e K7 y8 \
- exist=true;
% r# M7 _* @1 S) K* s1 V5 \7 p( @+ c - input1.setText(SI.getname());
, Q g h+ u7 O. i# f - input1.selectAll();
. | t: @' @! H6 Y! H, |7 ^ - input2.setText("0"+x);
% C9 A. p, z2 ~ - input3.setText(SI.getClassNo());
# `+ F8 O$ F* b3 \ - if(SI.getLevel()==-1)3 }* @8 F2 n" [0 C% q: E+ t% v
- input4.setText("未参加考试");
% C2 r9 h* d6 A$ P( f) p7 `: r; i& Q - else
9 |5 v& W& p. r" g+ P - {
, X) W" ?: q, l - String y = String.valueOf(SI.getLevel());
& c$ h; s* ^8 s; v1 v1 B - input4.setText(y);
u5 k3 t0 ?: [, Y) ]" a - }9 E9 r6 b D2 B+ X
- break;
7 `6 V( s; h9 Y }( _5 H - }
! F3 y, e' Z$ m+ P% g - else if(a1.getStuNo()<k)
$ `3 l8 A7 X) k ^+ Z - low=mid+1;7 L7 D% M4 `0 K" f9 F5 A0 J
- else
" L" c2 B6 q, @% Z - high=mid-1;
# Q0 e0 q) A" N1 q - }
1 Y6 w+ {( d6 z) e - if(exist==false)
5 Y. l( Q6 f; o3 x8 \& S - {
1 a# |! M+ O! X* c- a - input1.setText("无此学号学生信息");' H+ J: w0 \! M# C. q* G% U
- input1.selectAll();* @# F ?- P/ u8 U; c8 t
- }# n. F# j/ E! ~0 ~ {0 u- |
- }
) T7 J& z4 Y$ I7 p I3 F" T - //添加方法3 H0 |5 j+ f6 S
- public void Insert(StudentInf q)# m1 g. g7 x+ o
- {
x2 F0 Q6 q4 e) G7 x - int i=0;; N3 j- r& D0 A! S+ v% s3 q
- 9 o% F/ i5 ]: U: y' k/ F* D" h
- if(StuInf.isEmpty()==true)
+ }! B$ u0 F" ?1 I1 ]: Y- I - {7 a) Y5 I7 k' v9 b! l7 `
- StuInf.addElement(q);. Z! r" C9 g0 ]) ]3 O7 M+ d
- input1.setText("");
- s/ X" B" [. M - input2.setText("");
) D9 L8 c+ d$ f$ w* S+ z/ b8 C - input3.setText("");
. h8 a, C8 }4 F( A3 Q - input4.setText("");& w& d: _, U& u7 \
- }
1 M5 B `& P$ a5 X7 `8 { - else
+ p! A/ c1 X+ I4 m8 t+ m$ v0 G - {9 N' r1 M. T. P; z
- StudentInf xh;& c+ s7 ~- |( J6 C I0 G' |, `
- xh=(StudentInf) StuInf.firstElement();5 r [4 {+ J9 \
- while(xh.getStuNo()<q.getStuNo()); @2 G" }0 k6 j4 O" D: i2 z
- {& g+ B3 q" A0 U9 a% O
- i++;' _4 D0 e8 G; C1 m$ T/ Z$ b
- if(i<StuInf.size())
4 u. b" F' b) r$ v2 c/ J/ ?* ~5 t - xh=(StudentInf) StuInf.elementAt(i);
6 d* H+ @# y9 v% K& F - else ! x/ A& h* A: a U6 ?" C
- break;
6 s8 K- t. @% j/ z - }
; c; W# i& k. l S$ t6 o+ z( S - if(xh.getStuNo()==q.getStuNo())" X7 G! |8 P$ d3 k% k; P" @$ c- R- L8 W
- {
1 q: L' |9 `9 J - input2.setText("此学生信息已存在");* d0 n. K" Q) c9 G
- input2.requestFocus();
5 ` |+ k# ^! ^1 K$ X; L - input2.selectAll();. D% ~: n& v+ y0 q9 ~0 G+ d
- }
! {- {9 A5 R& |$ i/ g% E - else - r4 x3 J5 V1 |1 j; Q# @
- {
% p6 v" F4 v5 s# y& E+ k3 k - StuInf.insertElementAt(q,i);
# i! }; _( z! @# `0 Y: `" h/ w - input1.setText("");+ C1 d6 l$ C+ H
- input2.setText("");
$ _3 N8 R0 F& L6 z3 r9 \9 Y - input3.setText("");8 i1 l) x1 |/ w
- input4.setText(""); d8 Q5 u: U8 o3 i1 i5 \0 C3 u; f$ b
- }/ _' r# y( x! `- P
- }
$ t' J, p! h& ?' T E$ ^( [ - }' D: U e1 Q5 o' T0 S4 B
-
: a/ @/ P$ p R- W - //异常类
8 a/ [0 P& k( n1 g3 v: z - class OverException extends Exception* r8 t7 _/ J X* {
- {# x$ I7 T. h, G+ n, H" T! c
- String over;
( @4 s0 ?9 C3 t' u. x3 X; @& H7 j - } / N& @, u1 {' o& ~( Q" E- P
- class EmptyException extends Exception
8 K1 r& Z9 q5 F5 Z7 O - {- j9 J; n8 E( H- ]7 \; j
- String empty;
' i0 W% M, ?% _% \/ G& q2 l - }
9 a' |/ f# {' N# V0 s - void XingMing() throws EmptyException
& B: U5 R# ~- q8 P# l4 |/ C - {
* D& z7 m! n; i; {1 u7 a" J - if((input1.getText()).equals(""))
; u' V* s' @' l - throw (new EmptyException());
' G: ]6 C2 G! X& [ - else
* ^; A* u2 }4 [ - xm=input1.getText();3 `$ B w# x7 x; m7 x! W
- }
4 R& I% j4 V4 Y# b3 I) e$ V) f - void ChengJi() throws OverException,EmptyException / ]0 N/ M0 @ V7 O
- {' X' |" f0 ?3 x7 A+ V7 E6 D1 Z
- if((input4.getText()).equals(""))+ ]$ A) }$ {# u4 o
- throw(new EmptyException());' |+ [; j! d' B& p8 l
- else
! r( n& u9 o9 n, i7 }3 s5 ^2 D - cj=Integer.parseInt(input4.getText());
; s6 d5 L* {+ Z0 j6 i$ x5 S - if(cj<0||cj>100)7 |8 G: A1 w2 }4 r0 e
- throw (new OverException());% j5 x0 H/ v" k; a1 V6 N0 P/ a3 T# c
- }3 m% w0 e0 {; d! N
- * }* m. ]7 K9 ?2 t9 O* B
- //学生信息类- W: `5 `. B) a0 L9 J2 {; L0 d) P5 U8 H
- public class StudentInf
& f; {2 W, T! K9 g" ]. _ - {
! J$ C0 f5 T: n+ V5 Y' e% z# _ - private String name;* F( S, V% z" i- K
- private int StuNo;
1 l8 c- d% S3 g# n - private String ClassNo;2 d" Z; p% j1 S% M& H6 B; o0 z
- private int Level;& h; Z P1 R# }. y8 @
- StudentInf(String xingming,int xuehao,String banji,int chengji)3 I8 R- ^! w% }7 h2 X
- {
+ Y6 H0 c/ j. T/ B - name=xingming;) \9 b' N6 B5 \6 j' ^
- StuNo=xuehao;9 @9 N2 Z: K8 E; q* X
- ClassNo=banji;1 i" Y0 d" }9 A0 R. P% P% F# U
- Level=chengji;
+ ]' W+ u; F+ z: d( d; N) q - }. Y# p* ]( c9 C3 E6 \5 T, R. S( p
- public int getStuNo()# q1 q0 G& T* ?2 B' h
- {
) T" k$ b1 L0 t' h; b& F x F - return StuNo;( I. ~3 ^: H5 R; w0 t8 o4 h4 F) S
- }
- g3 M9 T" \. R8 D t" J" C - public String getname()+ r N; R' [7 K4 ^( P
- {
2 t% h. c- p+ ^ - return name;- W4 }! R3 Q) ^6 R! M6 h
- }
: |$ [' _& m& S* H. g - public String getClassNo()7 G+ _9 G! b. o
- {0 z4 t! Z2 M+ s$ p/ c
- return ClassNo;; u: p9 c: l2 t5 z7 e7 u8 m
- }
- K6 i! h( M5 k: L4 j - public int getLevel()7 y9 K: i9 Q; t# w; X, ]
- {: U( e$ Q3 ~& U, o- X
- return Level;
. N% t0 w% K* { - }9 D, K' G/ X* ]7 i, u8 ?+ G) U# l
- }3 p$ [7 K |; l1 n0 ^+ b
- ; t# K! V' \+ S) c' c3 P
- }
复制代码
# F4 A8 k: t& r4 V0 h6 Y8 i+ C" Y! `% P5 b/ s6 I0 U' Z/ x
|
|