java学生成绩管理系统课程设计3118.pdf
《java学生成绩管理系统课程设计3118.pdf》由会员分享,可在线阅读,更多相关《java学生成绩管理系统课程设计3118.pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实用标准文档 文案大全 目 录 1 设计目的及内容要求.1 2 系统总体设计.1 3 系统详细设计.2 4 运行结果及分析.17 致谢.21 参考文献.22 实用标准文档 文案大全 简单学生成绩管理系统的设计与实现 1 设计目的及内容要求 1、设计目的:巩固和加深学生对高级语言程序设计课程的基本知识的理解和掌握,掌握 java语言编程和程序调试的基本技能,利用 java语言进行基本的软件设计,提高运用 java语言解决实际问题的能力。2、内容要求 实现学生成绩的管理(增、删、改、查询、持久化、成绩排序、成绩统计等功能),在文件中增加、删除、学生信息,根据学号查询、修改学生信息,统计功能求每个人
2、的总分并按从高到低排序,通过这些操作对文件中的信息保存。2 系统总体设计 成功登陆系统以后,出现成绩管理界面,系统初始化,可对学生成绩进行增加、删除、查询、修改、统计,进入相应界面进行成绩管理,退出系统自动保存本次操作内容,保存信息。简易流程图:登陆 成绩管理界面 增加 删除 查询 修改 统计 退出 实用标准文档 文案大全 3 系统详细设计 创建 Student类,设置变量及对应方法 Student.java代码:package keshe;import java.io.Serializable;public class Student implements Serializable priv
3、ate String name;private int num;private int yuwen;private int shuxue;private int java;private int sum=0;public Student()public Student(String name,int num,int yuwen,int shuxue,int java)super();this.name=name;this.num=num;this.yuwen=yuwen;this.shuxue=shuxue;this.java=java;public String getName()retur
4、n name;public void setName(String name)this.name=name;public int getNum()return num;public void setNum(int num)this.num=num;public int getYuwen()return yuwen;public void setYuwen(int yuwen)this.yuwen=yuwen;实用标准文档 文案大全 public int getShuxue()return shuxue;public void setShuxue(int shuxue)this.shuxue=s
5、huxue;public int getJava()return java;public void setJava(int java)this.java=java;public int getSum()return sum;public void setSum(int sum)this.sum=sum;public String toString()return Student name=+name+,num=+num+,yuwen=+yuwen +,shuxue=+shuxue+,java=+java+,sum=+sum +;Student管理类 StuC,创建对应方法,实现对 Studen
6、t对象的操作(增、删、改、查询、持久化、成绩排序、成绩统计等功能)供其对象调用。StuC.java代码 package keshe;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.io.ObjectInputStrea
7、m;import java.io.ObjectOutputStream;import java.util.ArrayList;public class StuC ArrayList al=new ArrayList();实用标准文档 文案大全 File file=new File(e:/mydata.dat);/添加 public void adds(Student s)al.add(s);/删除 public void del(int n)for(int i=0;ial.size();i+)if(al.get(i).getNum()=n)al.remove(i);/求总分 public vo
8、id sum()for(int i=0;ial.size();i+)al.get(i).setSum(al.get(i).getJava()+al.get(i).getShuxue()+al.get(i).getYuwen();/排序 public void sort()for(int i=0;i al.size();i+)for(int j=0;j al.size()-1-i;j+)if(al.get(j).getSum()al.get(j+1).getSum()Object o=al.get(j);al.set(j,al.get(j+1);al.set(j+1,(Student)o);pu
9、blic void paint()for(int i=0;ial.size();i+)System.out.println(al.get(i);public String toString()return StuC al=+al+;/输出流 public void stor()ObjectOutputStream out=null;实用标准文档 文案大全 try out=new ObjectOutputStream(new FileOutputStream(file);out.writeObject(al);out.close();catch(FileNotFoundException e)e
10、.printStackTrace();catch(IOException e)e.printStackTrace();/输入流 public void read()ObjectInputStream in=null;try in=new ObjectInputStream(new FileInputStream(file);try al=(ArrayList)in.readObject();catch(ClassNotFoundException e)al=null;in.close();catch(FileNotFoundException e)File file=new File(e:/m
11、ydata.dat);catch(IOException e)e.printStackTrace();/查找 public Student find(int n)for(int i=0;ial.size();i+)if(al.get(i).getNum()=n)return al.get(i);return null;实用标准文档 文案大全 登陆界面及成绩管理的所有界面,同过创建 StuC的对象,调用其方法实现成绩管理 代码:package keshe;import java.awt.*;import java.awt.event.*;import java.io.FileNotFoundEx
12、ception;import java.io.IOException;import javax.swing.*;public class Login extends JFrame private TextField f1;private TextField f2;private JButton b1;private JButton b2;private JButton b3;StuC scs=new StuC();/登陆界面 public Login()Container cp=getContentPane();/容器 cp.setLayout(new GridLayout(3,1);/三行一
13、列布局 Label l1=new Label(用户名);Label l2=new Label(密 码);Panel p1=new Panel();Panel p2=new Panel();Panel p3=new Panel();f1=new TextField(10);f2=new TextField(10);f2.setEchoChar(*);/回显字符为*b1=new JButton(登录);b2=new JButton(重置);b3=new JButton(退出);p1.add(l1);/第一行添加 label 1 p1.add(f1);p2.add(l2);p2.add(f2);p3
14、.add(b1);p3.add(b2);p3.add(b3);cp.add(p1);cp.add(p2);cp.add(p3);实用标准文档 文案大全 b1.addActionListener(new Enter();b2.addActionListener(new ReWrite();b3.addActionListener(new Close();class Enter implements ActionListener public void actionPerformed(ActionEvent e)if(f1.getText().equals(yazhou)&(f2.getText(
15、).equals(123456)scs.read();/初始化,从文件读入信息 XueSheng frame1=new XueSheng();frame1.setBounds(200,200,300,300);frame1.setVisible(true);else JOptionPane.showMessageDialog(null,用户名或密码错误,请重新登录!);class ReWrite implements ActionListener public void actionPerformed(ActionEvent e)f1.setText();f2.setText();f1.req
16、uestFocus();class Close implements ActionListener public void actionPerformed(ActionEvent e)JButton bt=(JButton)e.getSource();if(bt=b3)System.exit(0);/主函数 程序开始 public static void main(String args)Login log=new Login();log.setTitle(系统登录);log.setBounds(200,200,300,300);log.setBackground(Color.blue);lo
17、g.setVisible(true);/信息管理界面内部类 进行初始化和保存 class XueSheng extends JFrame implements ActionListener 实用标准文档 文案大全 private JButton cx,zj,tc,sc,xg,tj;public XueSheng()Container c=this.getContentPane();c.setLayout(new GridLayout(3,1);c.setFont(new Font(true,Font.TRUETYPE_FONT,13);JPanel panel2=new JPanel();JP
18、anel panel1=new JPanel();JLabel label1=new JLabel(欢迎进入成绩管理,SwingConstants.CENTER);label1.setFont(new Font(true,Font.TRUETYPE_FONT,13);label1.setForeground(Color.blue);c.add(label1);/添加按钮 cx=new JButton(查询);panel2.add(cx);zj=new JButton(增加);panel2.add(zj);sc=new JButton(删除);panel2.add(sc);tc=new JBut
19、ton(退出);panel2.add(tc);xg=new JButton(修改);panel1.add(xg);tj=new JButton(统计);panel1.add(tj);c.add(panel2);c.add(panel1);cx.addActionListener(this);zj.addActionListener(this);sc.addActionListener(this);xg.addActionListener(this);tc.addActionListener(this);tj.addActionListener(this);this.setVisible(tru
20、e);public void actionPerformed(ActionEvent e)if(e.getSource()=cx)Find f=new Find();if(e.getSource()=zj)AddFI f=new AddFI();if(e.getSource()=sc)实用标准文档 文案大全 Delet d=new Delet();if(e.getSource()=xg)XiuGai x=new XiuGai();if(e.getSource()=tc)shutDown();if(e.getSource()=tj)Tongji t=new Tongji();private vo
21、id shutDown()scs.stor();JOptionPane.showMessageDialog(null,信息已保存);this.dispose();/增加信息界面内部类,捕获文本框中信息创建 Student对象,添加到 Arraylist中,如果已存在该学号/给出提示信息,并重新添加。class AddFI extends JFrame implements ActionListener private JTextField STNOText,SNAMEText,MAText,CHIText,JAVAText;private JButton b1,b2,b3;private St
22、ring STNO,SNAME,MAT,CHI,JAVA;public AddFI()super(添加学生信息);Container c2=this.getContentPane();c2.setLayout(new GridLayout(3,1);JPanel center=new JPanel(new GridLayout(5,2);JPanel low=new JPanel(new FlowLayout();JLabel label1=new JLabel(添加学生信息,SwingConstants.CENTER);label1.setFont(new Font(TRUE,Font.TR
23、UETYPE_FONT,20);c2.add(label1);STNOText=new JTextField(30);/30列文本框 SNAMEText=new JTextField(30);CHIText=new JTextField(30);MAText=new JTextField(30);JAVAText=new JTextField(30);center.add(new JLabel(学号,SwingConstants.CENTER);/添加标签学号写在标签中间 center.add(STNOText);/添加文本框 center.add(new JLabel(姓名,SwingCon
24、stants.CENTER);center.add(SNAMEText);实用标准文档 文案大全 center.add(new JLabel(语文,SwingConstants.CENTER);center.add(CHIText);center.add(new JLabel(数学,SwingConstants.CENTER);center.add(MAText);center.add(new JLabel(java,SwingConstants.CENTER);center.add(JAVAText);c2.add(center);b1=new JButton(添加);b2=new JBut
25、ton(清除);b3=new JButton(退出);low.add(b1);low.add(b2);low.add(b3);c2.add(low);/添加监听 b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);this.setBounds(200,200,600,400);this.setVisible(true);this.setTitle(添加学生信息);public void actionPerformed(ActionEvent e)if(e.getSource()=b1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 学生 成绩管理系统 课程设计 3118
限制150内