Java課程設計報告報告-學生信息管理系統(tǒng)_第1頁
Java課程設計報告報告-學生信息管理系統(tǒng)_第2頁
Java課程設計報告報告-學生信息管理系統(tǒng)_第3頁
Java課程設計報告報告-學生信息管理系統(tǒng)_第4頁
Java課程設計報告報告-學生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、-. z.面向對象程序設計課程設計報告題目:*課程設計學 院: 信息工程學院姓 名:* * *學 號:* *專 業(yè): 計算科學與技術 班 級: * 指導教師: * 2015 年 12月-. z.目錄TOC o 1-3 h u TOC o 1-3 h z u HYPERLINK l _Toc438801913目錄 PAGEREF _Toc438801913 h 1HYPERLINK l _Toc438801914摘要 PAGEREF _Toc438801914 h 2HYPERLINK l _Toc4388019151.引言 PAGEREF _Toc438801915 h 3HYPERLINK

2、l _Toc4388019162.設計目的與任務 PAGEREF _Toc438801916 h 4HYPERLINK l _Toc4388019173. 設計方案 PAGEREF _Toc438801917 h 5HYPERLINK l _Toc4388019183.1總體設計 PAGEREF _Toc438801918 h 5HYPERLINK l _Toc4388019193.2開發(fā)環(huán)境 PAGEREF _Toc438801919 h 5HYPERLINK l _Toc4388019203.3層次圖 PAGEREF _Toc438801920 h 5HYPERLINK l _Toc438

3、8019213.4界面預覽 PAGEREF _Toc438801921 h 5HYPERLINK l _Toc438801922登錄界面 PAGEREF _Toc438801922 h 5HYPERLINK l _Toc438801923該管理員不存在( 用戶名:name 用戶密碼:psw ) PAGEREF _Toc438801923 h 6HYPERLINK l _Toc438801924學生信息管理界面 PAGEREF _Toc438801924 h 6HYPERLINK l _Toc438801925填寫學生信息 PAGEREF _Toc438801925 h 7HYPERLINK l

4、 _Toc438801926錄入學生信息 PAGEREF _Toc438801926 h 7HYPERLINK l _Toc438801927查詢學生信息 PAGEREF _Toc438801927 h 7HYPERLINK l _Toc438801928修改學生信息 PAGEREF _Toc438801928 h 8HYPERLINK l _Toc438801929刪除學生信息 PAGEREF _Toc438801929 h 8HYPERLINK l _Toc438801930顯示所有學生信息 PAGEREF _Toc438801930 h 9HYPERLINK l _Toc43880193

5、14.系統(tǒng)說明 PAGEREF _Toc438801931 h 10HYPERLINK l _Toc4388019325.設計體會與小結 PAGEREF _Toc438801932 h 11HYPERLINK l _Toc4388019336.附錄 PAGEREF _Toc438801933 h 12HYPERLINK l _Toc4388019346.1登錄界面源代碼 Login.java PAGEREF _Toc438801934 h 12HYPERLINK l _Toc4388019356.2學生信息管理系統(tǒng)源碼 Student.java PAGEREF _Toc438801935 h

6、14-PAGE 1. z.摘 要隨著學校的規(guī)模不斷擴大,學生數量急劇增加,有關學生的各種信息量也成倍增長。面對龐大的信息量需要有學生管理系統(tǒng)來提高學生管理工作的效率。通過這樣的系統(tǒng)可以做到信息的規(guī)管理、科學統(tǒng)計和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。目前社會上信息管理系統(tǒng)發(fā)展飛快,各個企業(yè)事業(yè)單位都引入了信息管理軟件來管理自己日益增長的各種信息,學生管理系統(tǒng)也是有了很大的發(fā)展,商業(yè)化的學生信息管理軟件也不少。該報告中的程序是簡單的學生管理系統(tǒng),該系統(tǒng)完全獨立開發(fā),力求使系統(tǒng)功能簡潔明了,但功能齊全且易于操作。使用Java程序編寫,能夠進行學生信息錄入、修改、查看、刪除等操作。

7、該程序主要用到了Java swing和事件監(jiān)聽等。引 言Java的前身是Oak,它一開始只是被應用于消費性電子產品中。后來它的開發(fā)者們發(fā)現(xiàn)它還可以被用于更大圍的Internet上。1995年,Java語言的名字從Oak編程了Java。1997年J2SE1.1發(fā)布。1998年J2SE1.2發(fā)布,標志Java2的誕生。十多年來,Java編程語言及平臺成功地運用在網絡計算及移動等各個領域。Java的體系結構由Java語言、Java class組成。它具有簡單、面向對象、健壯、安全、結構中立、可移植和高效能等眾多優(yōu)點。Java支持多線程編程,Java運行時系統(tǒng)在多線程同步方面具有成熟的解決方案。Jav

8、a的平臺標準有Java ME,Java SE和Java EE。Java發(fā)展到今天,它的卓越成就及在業(yè)界的地位毋庸置疑。目前在眾多的支持Java的開發(fā)工具中主要的7有Java Development Kit,NetBeans,Jcreator,uilder,JDeveloper和Eclipse等。其中Java Development Kit 簡稱JDK是大多開發(fā)工具的基礎。以上的每種開發(fā)工具都有優(yōu)缺點,對于開發(fā)者來說,重要的是要根據自己的開發(fā)規(guī)模、開發(fā)容和軟硬件環(huán)境等因素來選擇一種合適的開發(fā)工具。 在本程序設計中,因為需要開發(fā)的是學生管理系統(tǒng)程序,規(guī)模較小,容較少,所以選擇了適合初學者使用的JC

9、reator開發(fā)工具。2.設計目的與任務學生信息管理系統(tǒng)是一個教育單位不可缺少的部分。一個功能齊全、簡單易用的信息管理系統(tǒng)不但能有效地減輕學校相關工作人員的工作負擔,它的容對于學校的決策者和管理者來說都至關重要。所以學生信息管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計和查詢數據,這種管理方式存在著許多缺點,如:效率低、性差,人工的大量浪費;另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少困難。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著來越重要的作

10、用。在計算機網絡,數據庫和先進的開發(fā)平臺上,利用現(xiàn)有的軟件、硬件資源,開發(fā)一個具有開放體系結構的,易擴充的,易維護的,具有良好人機交互界面的學生信息管理系統(tǒng)。這個簡單的學生信息管理系統(tǒng)包括以下兩個基本功能: 管理員登陸 學生信息管理本系統(tǒng)主要用于學校學生信息管理,總體任務是實現(xiàn)學生信息關系的系統(tǒng)化、規(guī)化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改 、增加、刪除,針對這些要求設計了學生管理信息系統(tǒng)。設計方案總體設計本程序要構建的學生管理系統(tǒng)程序其功能有以下幾個方面: (1)首先是學生管理系統(tǒng)主界面管理員登錄界面”。 (2)管理員登錄之后的子界面學生信息管理界面”。(3)

11、學生信息管理界面可對學生信息進行填寫操作。(4)學生信息管理界面底端并含有錄入、查詢、修改、刪除、顯示”五個操作按鈕。開發(fā)環(huán)境學生信息管理系統(tǒng)管理員登陸學生信息管理添加學生信息查詢學生信息修改學生信息刪除學生信息顯示學生信息層次圖界面預覽登錄界面該管理員不存在( 用戶名:name 用戶密碼:psw )學生信息管理界面填寫學生信息錄入學生信息查詢學生信息修改學生信息刪除學生信息顯示所有學生信息4.系統(tǒng)說明1、該系統(tǒng)并未使用數據庫,只是把信息存放在了一個新建立的文本文檔中。2、關于管理員信息,必須現(xiàn)在C盤建立一個名為 Login的文本文檔,在 Login中存入用戶名和密碼且必須分行寫入。3、若要修

12、改學生信息必須先進行信息的查詢,查詢后方可進行信息修改。5.設計體會與小結通過這次課程設計,我們大家在老師的幫助下收獲的不僅僅是課程上的知識得到實際應用,還有編程的基本習慣和開發(fā)系統(tǒng)時應注意的流程。編程是個艱難的過程,很多功能語句都需要上網或者是查其他書籍來查看他們的用法,課本上的東西對我們來說遠遠不夠,我們要把目光放長遠一些。這次的課程設計使我對JAVA的許多東西都有了更深一步的了解,以前對自己的要看得懂就行,現(xiàn)在才發(fā)現(xiàn),光能看懂是遠遠不夠的,能看懂并不代表你會!課本被翻過很多遍,很多以前不知道的東西就這樣豁然開朗了。本次Java課程設計的鍛煉,不僅我們的分析問題跟解決問題的能力都得到明顯的

13、提高,在這次事件過程中收獲很多,對我們而言,知識上的收回,盡管遇到了困難,但還是通過各種途徑克服問題。做小小的測試,通過了就很開心,收獲頗多,但是知識還是欠缺,我們會繼續(xù)努力。6.附 錄6.1登錄界面源代碼 Login.javapackage aa;import.*;import java*.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.even

14、t.WindowEvent;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOE*ception;importjava.util.*;importjava.sql.*;classLogine*tends JFrame implements ActionListener Container cp=null;String name=null;String psw=null;JFrame f=null;utton j1,j2;JTe*tField t1;JPassw

15、ordField t2;JLabel jlable1,jlable2;Color c;JPanel jp1,jp2;Login()f=new JFrame(學生管理系統(tǒng));j1=new utton(確定);j2=new utton(取消);cp=f.getContentPane();jlable1=new JLabel( 輸入用戶名);jlable2=new JLabel( 用戶密碼);jp1=new JPanel();jp2=new JPanel();t1=new JTe*tField(18);t2=new JPasswordField(18);jp1.add(jlable1);jp1.ad

16、d(t1);jp1.add(jlable2);jp1.add(t2);JLabel JL=new JLabel(歡迎進入信息工程學院管理系統(tǒng),SwingConstants.CENTER);cp.add(JL,North);jp2.add(j1);jp2.add(j2);cp.add(jp1,Center);cp.add(South,jp2);jp1.setBackground(Color.lightGray);Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int *=screen.wid

17、th; /*取得顯示器窗口的寬度*/int y=screen.height; /*取得顯示器窗口的高度*/setSize(*,y);/*讓系統(tǒng)窗口平鋪整個顯示器窗口*/f.setSize(300,300);int *center=(*-300)/2;int ycenter=(y-300)/2;f.setLocation(*center,ycenter);/*顯示在窗口中央*/f.setVisible(true);/j1.addActionListener(this);/注冊事件監(jiān)聽器j2.addActionListener(this);f.addWindowListener(new Windo

18、wAdapter()publicvoid windowClosing(WindowEvent e)System.e*it(0););publicvoid confirm() throws IOE*ception/驗證用戶和密碼是否存在File file =new File(C:/Login.t*t);tryif(!file.e*ists()file.createNewFile();catch (IOE*ception e) e.printStackTrace();BufferedReader br = new BufferedReader(new FileReader(file);String

19、 temp=br.readLine();String line;while(line=br.readLine()!=null)temp+=,+line;if(temp=null)System.out.println();elseString str=temp.split(,);name=str0;psw=str1;if(t1.getTe*t().trim().equals(name)&(t2.getTe*t().equals(psw)new Test();f.hide();br.close();elseJOptionPane.showMessageDialog(null,該用戶不存在,提示,J

20、OptionPane.YES_NO_OPTION);t1.setTe*t();t2.setTe*t();publicvoid actionPerformed(ActionEvent e)String cmd=e.getActionmand();if(cmd.equals(確定)tryconfirm(); catch (IOE*ception e1)e1.printStackTrace();elseif(cmd.equals(取消)f.dispose();publicstaticvoid main(String args)Login a=new Login();6.2學生信息管理系統(tǒng)源碼 Stu

21、dent.javapackage aa;import java.awt.*;import java.awt.event.*;import java*.swing.*;import java.io.*;import java.util.*;publicclassStudentimplements java.io.SerializableString number,name,specialty,grade,borth,se*;public Student();publicvoid setNumber(String number)this.number=number;public String ge

22、tNumber()returnnumber;publicvoidsetName(String name)=name;public String getName() returnname;publicvoid setSe*(String se*)this.se*=se*;public String getSe*()returnse*;publicvoid setSpecialty(String specialty) this.specialty=specialty;public String getSpecialty() returnspecialty;publicvoid s

23、etGrade(String grade)this.grade=grade;public String getGrade()returngrade;publicvoid setBorth(String borth)this.borth=borth;public String getBorth() returnborth;classTeste*tends JFrameJLabel lb=new JLabel(錄入請先輸入記錄、查詢、刪除請先輸入*修改是對查詢+容改后的保存);JTe*tField *,專業(yè),年級,出生;JRadioButton 男,女;ButtonGroup group=null

24、;utton 錄入,查詢,刪除,修改,顯示;JPanel p1,p2,p3,p4,p5,p6,pv,ph;Student 學生=null;Hashtable學生散列表=null;File file=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;public Test()super(學生信息管理系統(tǒng));*=new JTe*tField(10);=new JTe*tField(10);專業(yè)=new JTe

25、*tField(10);年級=new JTe*tField(10);出生=new JTe*tField(10);group=new ButtonGroup();男=new JRadioButton(男,true);女=new JRadioButton(女,false);group.add(男);group.add(女);錄入=new utton(錄入);查詢=new utton(查詢);刪除=new utton(刪除);修改=new utton(修改);顯示=new utton(顯示);錄入.addActionListener(new InputAct();查詢.addActionListen

26、er(new InquestAct();修改.addActionListener(new ModifyAct();刪除.addActionListener(new DeleteAct();顯示.addActionListener(new ShowAct();修改.setEnabled(false);p1=new JPanel();p1.add(new JLabel(*:,JLabel.CENTER);p1.add(*);p2=new JPanel();p2.add(new JLabel(:,JLabel.CENTER);p2.add();p3=new JPanel();p3.add(new J

27、Label(性別:,JLabel.CENTER);p3.add(男);p3.add(女);p4=new JPanel();p4.add(new JLabel(專業(yè):,JLabel.CENTER);p4.add(專業(yè));p5=new JPanel();p5.add(new JLabel(年級:,JLabel.CENTER);p5.add(年級);p6=new JPanel();p6.add(new JLabel(出生:,JLabel.CENTER);p6.add(出生);pv=new JPanel();pv.setLayout(new GridLayout(6,1);pv.add(p1);pv.

28、add(p2);pv.add(p3);pv.add(p4);pv.add(p5);pv.add(p6);ph=new JPanel();ph.add(錄入);ph.add(查詢);ph.add(修改);ph.add(刪除);ph.add(顯示);file=new File(學生信息.t*t);學生散列表=newHashtable();if(!file.e*ists()tryFileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);objectO

29、ut.writeObject(學生散列表);objectOut.close();out.close();catch(IOE*ception e)Container con=getContentPane();con.setLayout(new BorderLayout();con.add(lb,BorderLayout.NORTH);con.add(pv,BorderLayout.CENTER);con.add(ph,BorderLayout.SOUTH);setDefaultCloseOperation(E*IT_ON_CLOSE);setBounds(100,100,600,300);set

30、Visible(true);publicstaticvoid main(String args)new Test();class InputAct implements ActionListenerpublicvoid actionPerformed(ActionEvent e)修改.setEnabled(false);String number=;number=*.getTe*t();if(number.length()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);學生散列表=(Hashtabl

31、e)inTwo.readObject();inOne.close();inTwo.close();catch(E*ception ee)System.out.println(創(chuàng)建散列表出現(xiàn)問題);if(學生散列表.containsKey(number)String warning=該生信息已存在 請到修改頁面修改;JOptionPane.showMessageDialog(null,warning,警告,JOptionPane.WARNING_MESSAGE);/endif1elseString m=該生信息將被錄入;intok=JOptionPane.showConfirmDialog(nu

32、ll,m,確認,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if(ok=JOptionPane.YES_OPTION)String name=.getTe*t();String specialty=專業(yè).getTe*t();String grade=年級.getTe*t();String borth=出生.getTe*t();String se*=null;if(男.isSelected()se*=男.getTe*t();elsese*=女.getTe*t();學生=new Student();學生.setNumber(

33、number);學生.setName(name);學生.setSpecialty(specialty);學生.setGrade(grade);學生.setBorth(borth);學生.setSe*(se*);tryoutOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);學生散列表.put(number,學生);outTwo.writeObject(學生散列表);outTwo.close();outOne.close();catch(E*ception ee)System.out.println(輸出散列表出現(xiàn)

34、問題);*.setTe*t(null);.setTe*t(null);專業(yè).setTe*t(null);年級.setTe*t(null);出生.setTe*t(null);/end else1/endif0elseString warning=必須輸入*;JOptionPane.showMessageDialog(null,warning, 警 告,JOptionPane.WARNING_MESSAGE);/end else0/end actionPerformed/end classclass InquestAct implements ActionListenerpublicvoid ac

35、tionPerformed(ActionEvent e)String number=;number=*.getTe*t();if(number.length()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);學生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(E*ception ee)System.out.println(散列表有問題);if(學生散列表.containsKey(number)修改.setEnab

36、led(true);Student stu=(Student)學生散列表.get(number);.setTe*t(stu.getName();專業(yè).setTe*t(stu.getSpecialty();年級.setTe*t(stu.getGrade();出生.setTe*t(stu.getBorth();if(stu.getSe*().equals( 男)男.setSelected(true);else女.setSelected(true);else修改.setEnabled(false);String warning=該*不存在;JOptionPane.showMessageDialog(

37、null,warning, 警 告,JOptionPane.WARNING_MESSAGE);else修改.setEnabled(false);String warning=必須輸入*;JOptionPane.showMessageDialog(null,warning, 警 告,JOptionPane.WARNING_MESSAGE);class ModifyAct implements ActionListenerpublicvoid actionPerformed(ActionEvent e)String number=*.getTe*t();String name=.getTe*t()

38、;String specialty=專業(yè).getTe*t();String grade=年級.getTe*t();String borth=出生.getTe*t();String se*=null;if(男.isSelected()se*=男.getTe*t();elsese*=女.getTe*t();Student 學生=new Student();學生.setNumber(number);學生.setName(name);學生.setSpecialty(specialty);學生.setGrade(grade);學生.setBorth(borth);學生.setSe*(se*);tryou

39、tOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);學生散列表.put(number, 學生);outTwo.writeObject(學生散列表);outTwo.close();outOne.close();*.setTe*t(null);.setTe*t(null);專業(yè).setTe*t(null);年級.setTe*t(null);出生.setTe*t(null);catch(E*ception ee)System.out.println(錄入修改出現(xiàn)異常!);修改.setEnabled(false);

40、class DeleteAct implements ActionListenerpublicvoid actionPerformed(ActionEvent e)修改.setEnabled(false);String number=*.getTe*t();if(number.length()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);學生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(E*ception e

41、e)if(學生散列表.containsKey(number)Student stu=(Student)學生散列表.get(number);.setTe*t(stu.getName();專業(yè).setTe*t(stu.getSpecialty();年級.setTe*t(stu.getGrade();出生.setTe*t(stu.getBorth();if(stu.getSe*().equals( 男)男.setSelected(true);else女.setSelected(true);String m=確定要刪除該學生的記錄嗎;int ok=JOptionPane.showConfirmDial

42、og(null,m,確認,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(ok=JOptionPane.YES_OPTION)學生散列表.remove(number);tryoutOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);outTwo.writeObject(學生散列表);outTwo.close();outOne.close();*.setTe*t(null);.setTe*t(null);專業(yè).setTe*t(null);年級.setTe*t(null);出生.setTe*t(null);catch(E*ception ee)System.out.println(ee);e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論