1、javalzJava 程 序 设 计 实 验 报 告专 业: 信息与计算科学 班 级: 0701班 学 号: 0708060102 姓 名: 吝 芝 2009 年 12 月 11 日一、功能描述编程实现一个学生成绩管理系统的图形界面,在系统中可以添加学生成绩信息,修改学生成绩信息,或者删除学生成绩信息,也可以查询学生成绩信息。二、类描述类 名属 性方 法备 注StudentsStudentInf SIpublic void init()String xmString bjint iint jpublic void actionPerformed(ActionEvent e)int xhint
2、cjstatic int midLabel prompt1public void search(int k)Label prompt2Label prompt3Label prompt4Label prompt5public void Insert(StudentInf q)TextField input1TextField input2TextField input3void ChengJi()TextField input4Button btn1Button btn2void XingMing()Button btn3Button btn4OverExceptionString overE
3、mptyExcepyionString emptyStudentInfprivate String nameStudentInf(String xingming,int xuehao,String banji,int chengji)private int StuNopublic String getname()public int getStuNo()private String ClassNopublic String getClassNo()public int getLevel()private int Level附:源程序代码框架import java.applet.Applet;i
4、mport java.awt.*;import java.awt.event.*;import java.util.*;import java.lang.*;public class Students extends Applet implements ActionListener public void init() public void actionPerformed(ActionEvent e) public void search(int k) public void Insert(StudentInf q) class OverException extends Exception
5、 String over; class EmptyException extends Exception String empty; void XingMing() void ChengJi() public class StudentInf StudentInf(String xingming,int xuehao,String banji,int chengji) public int getStuNo() return StuNo; public String getname() return name; public String getClassNo() return ClassNo
6、; public int getLevel() return Level; 三、界面设计与事件处理public class Students extends Applet implements ActionListener Label prompt1=new Label(学生管理系统); Label prompt2=new Label(用户:); Label prompt3=new Label(密码:); Label prompt4=new Label(班级:); Label prompt5=new Label(成绩:); TextField input1=new TextField(8);
7、TextField input2=new TextField(8); TextField input3=new TextField(8); TextField input4=new TextField(8); Button btn1=new Button(登录); Button btn2=new Button(增加); Button btn3=new Button(修改); Button btn4=new Button(删除); public void init() setLayout(new GridLayout(8,3); add(new Label(); add(prompt1); ad
8、d(new Label(); add(prompt2); add(input1); add(new Label(); add(prompt3); add(input2); add(btn1); add(prompt4); add(input3); add(new Label(); add(prompt5); add(input4); add(new Label(); add(btn2); add(btn3); add(btn4); prompt4.setVisible(false); prompt5.setVisible(false); input3.setVisible(false); in
9、put4.setVisible(false); btn2.setVisible(false); btn3.setVisible(false); btn4.setVisible(false); btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); btn4.addActionListener(this); public void actionPerformed(ActionEvent e) if(e.getActionCommand()=登录) String a,b; a
10、=input1.getText(); b=input2.getText(); input1.setText(); if(a.equals(lz)=true)&(b.equals(02)=true) prompt2.setText( 姓名:); prompt3.setText( 学号:); prompt4.setVisible(true); prompt5.setVisible(true); input3.setVisible(true); input4.setVisible(true); btn2.setVisible(true); btn3.setVisible(true); btn4.se
11、tVisible(true); btn3.setEnabled(false); btn4.setEnabled(false); btn1.setLabel(查询); input1.setText(登录成功); input1.selectAll(); else input2.setText(用户名或密码错); if(e.getActionCommand()=增加) boolean scucss=true; try XingMing(); catch(EmptyException as) input1.setText(姓名不能为空); scucss=false; try xh=Integer.pa
12、rseInt(input2.getText(); catch(NumberFormatException m) input2.setText(学号为空或格式错); scucss=false; bj=input3.getText(); try ChengJi(); catch(EmptyException as) cj=-1; catch(OverException dd) input4.setText(应在0-100间); scucss=false; catch(NumberFormatException cm) input4.setText(成绩应为数据); scucss=false; if
13、(scucss=true) SI=new StudentInf(xm,xh,bj,cj); Insert(SI); if(e.getActionCommand()=修改) xm=input1.getText(); xh=Integer.parseInt(input2.getText(); bj=input3.getText(); cj=Integer.parseInt(input4.getText(); SI=new StudentInf(xm,xh,bj,cj); StuInf.setElementAt(SI, mid); btn3.setEnabled(false); if(e.getAc
14、tionCommand()=删除) StuInf.removeElementAt(mid); btn4.setEnabled(false); input1.setText(删除成功); input2.setText(); input3.setText(); input4.setText(); if(e.getActionCommand()=查询) boolean right=true; try xh=Integer.parseInt(input2.getText(); catch(NumberFormatException m) input2.setText(学号为空或格式错); right=
15、false; if(right=true) search(xh); btn3.setEnabled(true); btn4.setEnabled(true); /查找方法 public void search(int k) boolean exist=false; int low=0; int high=StuInf.size()-1; while(low=high) mid=(high+low)/2; StudentInf a1=(StudentInf) StuInf.elementAt(mid); if(a1.getStuNo()=k) SI=(StudentInf) StuInf.ele
16、mentAt(mid); String x = String.valueOf(SI.getStuNo(); exist=true; input1.setText(SI.getname(); input1.selectAll(); input2.setText(0+x); input3.setText(SI.getClassNo(); if(SI.getLevel()=-1) input4.setText(未参加考试); else String y = String.valueOf(SI.getLevel(); input4.setText(y); break; else if(a1.getSt
17、uNo()k) low=mid+1; else high=mid-1; if(exist=false) input1.setText(无此学号学生信息); input1.selectAll(); /添加方法 public void Insert(StudentInf q) int i=0; if(StuInf.isEmpty()=true) StuInf.addElement(q); input1.setText(); input2.setText(); input3.setText(); input4.setText(); else StudentInf xh; xh=(StudentInf
18、) StuInf.firstElement(); while(xh.getStuNo()q.getStuNo() i+; if(iStuInf.size() xh=(StudentInf) StuInf.elementAt(i); else break; if(xh.getStuNo()=q.getStuNo() input2.setText(此学生信息已存在); input2.requestFocus(); input2.selectAll(); else StuInf.insertElementAt(q,i); input1.setText(); input2.setText(); inp
19、ut3.setText(); input4.setText(); /异常类 class OverException extends Exception String over; class EmptyException extends Exception String empty; void XingMing()throws EmptyException if(input1.getText().equals() throw (new EmptyException(); else xm=input1.getText(); void ChengJi() throws OverException,E
20、mptyException if(input4.getText().equals() throw(new EmptyException(); else cj=Integer.parseInt(input4.getText(); if(cj100) throw (new OverException(); /学生信息类 public class StudentInf private String name; private int StuNo; private String ClassNo; private int Level; StudentInf(String xingming,int xue
21、hao,String banji,int chengji) name=xingming; StuNo=xuehao; ClassNo=banji; Level=chengji; public int getStuNo() return StuNo; public String getname() return name; public String getClassNo() return ClassNo; public int getLevel() return Level; 四、运行结果五实验心得Java程序设计语言是十分重要的学科,学习Java语言,重要的是要多看、多想、多练习。通过本次实验,对图形用户界面的设计及事件处理有了更深一步的理解, 虽然刚开始时遇到了一些问题,但通过查资料,阅读课本,终于把报告做完了,但对于调式程序还是有一定的难度。这次试验让我知道,平时要多了解算法,多做程序,可以提高自己的设计和编程能力。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1