學(xué)習(xí)啦>實(shí)用范文>辦公文秘>文秘寫作>

java畢業(yè)論文范文5篇(3)

時(shí)間: 玉鳳635 分享

  java畢業(yè)論文范文篇四:

  摘要

  本文圍繞Java編程語言在網(wǎng)絡(luò)編程方面的具體應(yīng)用,論述了使用面向?qū)ο蠓椒?,?duì)計(jì)算器程序進(jìn)行需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì),最后使用Java編程實(shí)現(xiàn)的全過程。

  java語言,是目前比較流行的編程語言。經(jīng)過10多年的發(fā)展,java已經(jīng)滲透到全球每個(gè)角落。在當(dāng)今這個(gè)網(wǎng)絡(luò)的時(shí)代,java語言在網(wǎng)絡(luò)編程方面的優(yōu)勢(shì)使得網(wǎng)絡(luò)編程有了更好的選擇。Java語言最令人矚目的特點(diǎn)是具有跨平臺(tái)性,使其不受平臺(tái)不同的影響,并得到了廣泛的應(yīng)用。

  設(shè)計(jì)內(nèi)容:設(shè)計(jì)GUI界面的計(jì)算器。用戶可以通過鼠標(biāo)依次輸入?yún)⒓佑?jì)算的數(shù)值,進(jìn)行加、減、乘、除等混合運(yùn)算。

  設(shè)計(jì)要求:

  1.系統(tǒng)界面的上面是數(shù)字輸入對(duì)話框,用來顯示所輸入的數(shù)字和運(yùn)行的結(jié)果。

  2.系統(tǒng)界面下面的左側(cè)是記憶 + - * /。

  3. 系統(tǒng)界面下面的中部是數(shù)字輸入按鈕,用來輸入數(shù)字。

  4.系統(tǒng)界面下面的右側(cè)是運(yùn)算符號(hào)按鈕,用來實(shí)現(xiàn)具體的運(yùn)算。

  關(guān)鍵字:java面向?qū)ο?計(jì)算器 網(wǎng)絡(luò)編程

  第一章 概述

  1.1 設(shè)計(jì)目的

  計(jì)算器是日常生活中十分便捷有效的工具,能實(shí)現(xiàn)加、減、乘、除、開方、求倒數(shù)等簡(jiǎn)單運(yùn)算的功能。本論文采用java編程語言實(shí)現(xiàn)計(jì)算器功能。該計(jì)算器大大的降低了數(shù)字計(jì)算的難度并且提高了計(jì)算的準(zhǔn)確度和精確度。使用簡(jiǎn)單,適合廣大工作人員和中小學(xué)生使用。

  1.2 計(jì)算器系統(tǒng)概述

  標(biāo)準(zhǔn)計(jì)算器的界面采用“圖形界面程序設(shè)計(jì)(GUI)”。GUI為用戶和應(yīng)用程序之間的交互提供了直觀、方便的交流方式。用戶使用鼠標(biāo)、鍵盤操作圖形界面上的按鈕、菜單等元素湘計(jì)算機(jī)系統(tǒng)發(fā)送命令,系統(tǒng)運(yùn)行的結(jié)果以圖形的方式顯示給用戶。

  編寫java計(jì)算器主要使用了Swing組件和AWT布局類。Swing組件主要包括按鈕、標(biāo)簽、文本輸入類、等組件,AWT主要運(yùn)用了其中的布局管理器。

  1.2.1 Swing組件

  Swing組件的按鈕用JButton類表示,計(jì)算器的界面主要由JButton按鈕組成,以響應(yīng)用戶的操作;

  Swing中的標(biāo)簽用JLabel類表示,標(biāo)簽上可以顯示圖標(biāo)和文本;

  Swing的文本輸入類包括文本框JTextField、文本區(qū)JTextArea和密碼框JPasswordField。

  本計(jì)算器中僅僅使用了文本框JTextField,用于文本數(shù)字的顯示。

  1.2.2 AWT組件

  布局管理器管理組件如何放置在容器中,AWT中最常用的四種布局類:FlowLayout、BorderLayout、GridLayout、CardLayout。本項(xiàng)目主要采用了GridLayout布局。

  1.3功能模塊設(shè)計(jì)

  ★標(biāo)準(zhǔn)計(jì)算器。

  以下是標(biāo)準(zhǔn)計(jì)算器的各項(xiàng)功能:

  (1)加法:

  兩個(gè)及兩個(gè)以上數(shù)據(jù)進(jìn)行加法操作,可以為小數(shù)形式。

  (2)減法:

  兩個(gè)及兩個(gè)以上數(shù)據(jù)進(jìn)行減法操作,可以為負(fù)數(shù)形式。

  (3)乘法:

  兩個(gè)及兩個(gè)以上數(shù)據(jù)進(jìn)行乘法操作。

  (4)除法:

  兩個(gè)及兩個(gè)以上數(shù)據(jù)進(jìn)行除法操作。

  (5)開平方:

  對(duì)任意數(shù)開平方,可以為小數(shù)(不能為負(fù)數(shù))。

  (6)求倒數(shù):

  對(duì)任意數(shù)求倒數(shù),0除外。

  (7)求百分?jǐn)?shù):

  對(duì)任意一個(gè)數(shù)進(jìn)行百分號(hào)操作。

  1.4 系統(tǒng)功能圖。

  標(biāo)準(zhǔn)計(jì)算器

  求倒數(shù)

  開平方

  求百分號(hào)

  加法

  減法

  乘法

  除法

  圖1.1 計(jì)算器系統(tǒng)功能圖

  第二章 項(xiàng)目設(shè)計(jì)說明

  2.1標(biāo)準(zhǔn)計(jì)算器設(shè)計(jì)界面

  圖2.1 計(jì)算器設(shè)計(jì)界面

  2.2標(biāo)準(zhǔn)計(jì)算器設(shè)計(jì)主要代碼

  標(biāo)準(zhǔn)計(jì)算器主要由一個(gè)菜單欄、一個(gè)文本框、27個(gè)按鈕組成。

  2.2.1整體框架代碼

  JFrame f = new JFrame("標(biāo)準(zhǔn)計(jì)算器");

  f.setLocation(400, 300);

  Container contentPane = f.getContentPane();

  2.2.2 菜單欄代碼

  圖2.2 菜單欄

  JMenuBar mBar = new JMenuBar();

  mBar.setOpaque(true);

  mEdit = new JMenu("編輯(E)");

  mEdit.setMnemonic(KeyEvent.VK_E);

  mCopy = new JMenuItem("復(fù)制(C)");

  mEdit.add(mCopy);

  mPaste = new JMenuItem("粘貼(P)");

  mEdit.add(mPaste);

  mView = new JMenu("查看(V)");

  mView.setMnemonic(KeyEvent.VK_V);

  mView.add(new JMenuItem("標(biāo)準(zhǔn)型"));

  mView.add(new JMenuItem("科學(xué)型"));

  mView.addSeparator();

  mView.add(new JMenuItem("查看分組"));

  mHelp = new JMenu("幫助(H)");

  mHelp.setMnemonic(KeyEvent.VK_H);

  mHelp.add(new JMenuItem("幫助主題"));

  mHelp.addSeparator();

  mHelp.add(new JMenuItem("關(guān)于計(jì)算器"));

  mBar.add(mEdit);

  mBar.add(mView);

  mBar.add(mHelp);

  f.setJMenuBar(mBar);

  contentPane.setLayout(new BorderLayout());

  2.2.3 文本框代碼

  圖2.3 文本框

  JPanel pTop = new JPanel();

  tResult = new JTextField("0.",26);

  tResult.setHorizontalAlignment(JTextField.RIGHT);

  tResult.setEditable(false);

  pTop.add(tResult);

  contentPane.add(pTop,BorderLayout.NORTH);

  2.2.4 計(jì)算器各功能鍵代碼

  圖2.4 各功能鍵圖

  bOther = new JButton("MC");

  bOther.addActionListener(this);

  bOther.setForeground(Color.red); //字體顏色

  bOther.setMargin(new Insets(3,2,3,2));//按鈕邊框和標(biāo)簽之間的空白

  pLeft.add(bOther);

  bOther = new JButton("MR");

  bOther.addActionListener(this);

  bOther.setForeground(Color.red);

  bOther.setMargin(new Insets(3,2,3,2));

  pLeft.add(bOther);

  bOther = new JButton("MS");

  bOther.addActionListener(this);

  bOther.setForeground(Color.red);

  bOther.setMargin(new Insets(3,2,3,2));

  pLeft.add(bOther);

  bOther = new JButton("M+");

  bOther.addActionListener(this);

  bOther.setForeground(Color.red);

  bOther.setMargin(new Insets(3,2,3,2));

  pLeft.add(bOther);

  pBottom.add(pLeft,BorderLayout.WEST);

  JPanel pRight = new JPanel();

  pRight.setLayout(new BorderLayout());

  JPanel pUp = new JPanel();

  pUp.setLayout(new GridLayout(1,3,3,0));

  bOther = new JButton("BackSpace");

  bOther.addActionListener(this);

  bOther.setForeground(Color.red);

  bOther.setMargin(new Insets(3,0,3,5));

  pUp.add(bOther);

  bOther = new JButton("CE");

  bOther.addActionListener(this);

  bOther.setForeground(Color.red);

  pUp.add(bOther);

  bOther = new JButton("C");

  bOther.addActionListener(this);

  bOther.setForeground(Color.red);

  pUp.add(bOther);

  2.2.5 數(shù)字鍵及運(yùn)算符號(hào)代碼

  圖2.5 數(shù)字鍵圖

  JPanel pDown = new JPanel();

  pDown.setLayout(new GridLayout(4,5,3,2));

  bNumber = new JButton("7");

  bNumber.setForeground(Color.blue);

  bNumber.addActionListener(this);

  bNumber.setMargin(new Insets(3,3,3,3));

  pDown.add(bNumber);

  (注:其他數(shù)字鍵、運(yùn)算符號(hào)鍵與“7”定義相同。)

  第三章 程序運(yùn)行效果

  3.1加法運(yùn)算

  本計(jì)算器可以實(shí)現(xiàn)多個(gè)運(yùn)算數(shù)相加,例如:1+2+3+4

  計(jì)算結(jié)果為10,所有數(shù)據(jù)均為double類型。

  3.2減法運(yùn)算

  本計(jì)算器可以實(shí)現(xiàn)多個(gè)運(yùn)算數(shù)相減(正負(fù)數(shù)),例如:6-5-3-1

  計(jì)算結(jié)果為-3,數(shù)據(jù)類型為double類型。

  3.3乘法運(yùn)算

  本計(jì)算器可以實(shí)現(xiàn)多個(gè)運(yùn)算數(shù)相乘,例如2*3*4*5

  運(yùn)算結(jié)果為120,數(shù)據(jù)類型為double類型。

  3.4除法運(yùn)算

  本計(jì)算器可以實(shí)現(xiàn)多個(gè)運(yùn)算數(shù)相除(除數(shù)不為0)例如:15/3/5/2

  運(yùn)算結(jié)果為0.5,數(shù)據(jù)類型為double類型

  當(dāng)除數(shù)為0時(shí),計(jì)算器自動(dòng)報(bào)錯(cuò),例如:15/0

  3.5開方運(yùn)算

  當(dāng)被開方數(shù)為非負(fù)數(shù)時(shí),計(jì)算器自動(dòng)開方,例如:25開方

  運(yùn)算結(jié)果為5.

  3.6求倒數(shù)運(yùn)算

  當(dāng)按下求倒數(shù)鍵時(shí),計(jì)算器自動(dòng)為運(yùn)算數(shù)求其倒數(shù)。例如:5的倒數(shù)

  運(yùn)算結(jié)果為0.2.

  第四章 項(xiàng)目重難點(diǎn)分析

  4.1重難點(diǎn)分析

  Java計(jì)算器中整體框架的建立,按鈕的設(shè)置,整體布局在操作過程中都是很順暢的。計(jì)算器的關(guān)鍵步驟也是重點(diǎn)是實(shí)現(xiàn)計(jì)算器的計(jì)算方法。

  實(shí)現(xiàn)兩個(gè)數(shù)的加減乘除等運(yùn)算是比較簡(jiǎn)單的,但是一個(gè)計(jì)算器需要做到的是實(shí)現(xiàn)多個(gè)運(yùn)算數(shù)的運(yùn)算。此時(shí)就用到了我在項(xiàng)目一開始定義的兩個(gè)數(shù)據(jù)

  每執(zhí)行一次運(yùn)算操作就把運(yùn)算結(jié)果賦值給操作數(shù)1 “op1”,并判斷下一步操作是“=”或者“其他運(yùn)算符”,決定下一步計(jì)算器的操作。

  4.2程序中存在的問題

  (1)菜單欄中雖然設(shè)置了編輯、查看、幫助等選項(xiàng),但是項(xiàng)目中并沒有實(shí)際的功能。

  (2)程序中設(shè)置了內(nèi)存的有關(guān)操作但是并沒有達(dá)到其預(yù)期的功能。

  (3)百分號(hào)的實(shí)際功能并沒有實(shí)現(xiàn)。

  (4)當(dāng)被開方數(shù)是負(fù)數(shù)時(shí),計(jì)算器并不能給出錯(cuò)誤提示。

  [參考文獻(xiàn)]

  《Java編程實(shí)用技術(shù)與案例 》 譯作者:楊紹方

  《軟件工程Java語言實(shí)現(xiàn)SoftwareEngineeringwithJava》StephenR.Schach譯者:袁兆山等

  程序員天堂( 英文網(wǎng)站 大量的程序, 庫, 包) http://www.programmersheavean.com

  java畢業(yè)論文范文篇五:

  一、引言

  加深對(duì)《Java2面向?qū)ο蟪绦蛟O(shè)計(jì)》課程所學(xué)知識(shí)的理解,進(jìn)一步鞏固 Java語言的語法規(guī)則。分析系統(tǒng)的可行性,讓系統(tǒng)有一個(gè)明確的方向,使開發(fā)更具合理性,并能分析出系統(tǒng)的具體流程,為后面的開發(fā)做好鋪墊。明確本次課程設(shè)計(jì)所要用到的技術(shù)點(diǎn)并到網(wǎng)上搜索以及查閱相關(guān)的書籍來搜集資料。通過編寫一個(gè)基于JAVA的應(yīng)用系統(tǒng)綜合實(shí)例,來掌握J(rèn)ava語言編程技巧。并學(xué)會(huì)編制結(jié)構(gòu)清晰、風(fēng)格良好的、數(shù)據(jù)結(jié)構(gòu)適當(dāng)?shù)腏ava語言程序,從而具備解決綜合性實(shí)際問題的能力

  二、課題內(nèi)容

  用Java設(shè)計(jì)一個(gè)職工信息管理系統(tǒng),并實(shí)現(xiàn)相關(guān)功能。

  三、系統(tǒng)程序要求

  1、設(shè)計(jì)一個(gè)職工信息管理系統(tǒng)

  2、要求包括職工信息包括職工號(hào)、姓名、性別、年齡、學(xué)歷、工資、

  住 址、電話(職工號(hào)不重復(fù))

  3、本系統(tǒng)功能描述:

  職工信息錄入功能(職工信息用文本保存);

  職工信息瀏覽功能;

  查詢功能(至少一種查詢方式):

  按工資查詢, 按學(xué)歷查詢

  4、職工信息刪除、修改功能(這兩個(gè)功能任選)。

  四、程序設(shè)計(jì)思想

  該課題要求是輸入職工信息,對(duì)職工信息進(jìn)行一系列的處理。既要輸入工號(hào)又要能查找到與之對(duì)應(yīng)的職工,還要對(duì)實(shí)現(xiàn)建立,顯示,查找,刪除,信息的保存。

  因?yàn)榭紤]到信息管理信息的實(shí)用性,我額外添加了一個(gè)“讀文件”功能,使利用void read()方法來實(shí)現(xiàn)的。這個(gè)“讀文件模塊"!是我用來擴(kuò)充信息管理系統(tǒng)功能的!可以使系統(tǒng)在用戶不用輸入信息就能讀取先前已存在的職工信息文件。

  根據(jù)課題要求,我是這樣設(shè)計(jì)的:首先對(duì)要實(shí)現(xiàn)的功能類型分為三大類——Public類、方法類、信息類;然后細(xì)分為六個(gè)方法——void caidan()、void creat()、void output()、void search()、void delete()、void read ()。這些類和方法構(gòu)成了能夠?qū)崿F(xiàn)不同功能的模塊,很好地體現(xiàn)了面向?qū)ο蟮腏ava語言的編程模塊塊的思想。

  我通過調(diào)用各功能模塊的幾個(gè)方法,隨后在各個(gè)method中具體實(shí)現(xiàn)相關(guān)的功能。當(dāng)然要利用throws IOException進(jìn)行一些異常處理,包括輸入異常和數(shù)據(jù)的異常。在數(shù)據(jù)的錄入與輸出的過程中涉及到文件的相關(guān)操作(包括打開與關(guān)閉等)最后是系統(tǒng)的安全退出。大部分功能都是在具體的模塊中加以實(shí)現(xiàn)的。

  如search方法實(shí)現(xiàn)查詢職工信息功能;caidan方法實(shí)現(xiàn)系統(tǒng)選擇菜單界面的輸出等相關(guān)功能;delete方法用于職工信息刪除;output方法用于職工信息的輸出及瀏覽等系列功能。

  五、程序源代碼及其解析

  package staff;//包

  import java.io.*;

  public class StaffInfomation {

  public static void main(final String[] args) throws IOException

  //throws IOException用來拋出io的錯(cuò)誤,文件讀寫錯(cuò)誤, 主要涉及到j(luò)ava的安全機(jī)制

  {

  staffInfo staffOne[]=new staffInfo[100]; //定義100個(gè)類數(shù)組

  for(int j=0;j<100;j++) staffOne[j] = new staffInfo();

  //建立這100個(gè)類的對(duì)象

  final ways staffTwo=new ways(); //建立這個(gè)方法類的對(duì)象

  staffTwo.caidan(staffOne);

  staffTwo.creat(staffOne);

  staffTwo.output(staffOne);

  staffTwo.search(staffOne);

  staffTwo.delete(staffOne);

  //以上幾個(gè)方法分別對(duì)應(yīng)著:caidan菜單選擇、增加(建立)職工信息、輸出(預(yù)覽)、查詢、刪除這些功能,以數(shù)組類為參數(shù)

  }

  }

  class staffInfo

  //職工信息類換句話說就相當(dāng)與c語言里面的結(jié)構(gòu)體,存放職工的信息

  {

  public String name;

  public String num;

  public String sex;

  public String age;

  public String record;

  public String position;

  public String wanges;

  public String tel;

  public String addr;

  //把name、num、sex、age、record等聲明為全局變量,因?yàn)樗鼈冐灤┯谡麄€(gè)程序中,方便其它方法、類調(diào)用它們

  }

  class ways //方法類,主要實(shí)現(xiàn)職工信息的建立,顯示,查找,刪除,信息的保存與讀取;這個(gè)類是整個(gè)程序的操作類。

  {

  public String recordkey;

  public int i=0;//i用來存放職工的人數(shù)

  public String filename="Infomation.txt";

  BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

  //此處是JAVA語言中輸入數(shù)據(jù)的基本格式,功能有如C中的scanf函數(shù)

  void caidan(staffInfo staffOne[]) throws IOException

  {

  final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

  // 參看書34頁,產(chǎn)生Buf對(duì)象;buf是BufferedReader類的變量,此處將讀入字符串至buf

  int choice;

  do{

  System.out.println("☆★☆★☆★☆★電子信息系40706班★賀 雪 設(shè)計(jì)★☆★☆★☆\n\n");

  System.out.println("┏━━━━━━━━━━━━━━━━━━┓");

  System.out.println("┃★ 職工管理系統(tǒng)主菜單界面 ★┃");

  System.out.println("┣━━━━━━━━━━━━━━━━━━┫");

  System.out.println("┃ ★?、?輸入職工信息 ★ ┃");

  System.out.println("┃ ★ ②.預(yù)覽職工信息 ★ ┃");

  System.out.println("┃ ★ ③.查找職工信息 ★   ┃");

  System.out.println("┃ ★ ④.刪除職工信息 ★    ┃");

  System.out.println("┃ ★?、?安全退出系統(tǒng) ★ ┃");

  System.out.println("┃ ★ ⑥.讀取數(shù)據(jù) ★ ┃");

  System.out.println("┗━━━━━━━━━━━━━━━━━━┛");

  System.out.print(" 請(qǐng)輸入您的選擇(0--6):");

  choice=Integer.parseInt(buf.readLine());

  switch(choice)

  {

  case 1:creat(staffOne);break;

  case 2:output(staffOne);break;

  case 3:search(staffOne);break;

  case 4:delete(staffOne);break;

  case 5:save(staffOne);break;

  case 6:read(staffOne);break;

  }

  }while(choice!=0);

  }

  void creat(staffInfo staffOne[]) throws IOException

  //這個(gè)方法是實(shí)現(xiàn)“增加(建立)職工信息”;是建立信息模塊

  {

  final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

  System.out.print("\n請(qǐng)輸入職工信息(以0結(jié)束)\n");

  System.out.print("姓名:\n\n");

  staffOne[i].name=buf.readLine();

  while(staffOne[i].name.compareTo("0")!=0)

  //用數(shù)組staffOne[i]來暫存職工的序 號(hào),并用compareTo方 法確定判定是否應(yīng)該寫入新信息

  {

  System.out.print("工號(hào):\n\n");

  staffOne[i].num=buf.readLine();

  System.out.print("性別:\n\n");

  staffOne[i].sex=buf.readLine();

  System.out.print("年齡:\n\n");

  staffOne[i].age=buf.readLine();

  System.out.print("學(xué)歷:\n\n");

  staffOne[i].record=buf.readLine();

  System.out.print("職位:\n\n");

  staffOne[i].position=buf.readLine();

  System.out.print("工資:\n\n");

  staffOne[i].wanges=buf.readLine();

  System.out.print("電話:\n\n");

  staffOne[i].tel=buf.readLine();

  System.out.print("住址:\n\n");

  staffOne[i].addr=buf.readLine();

  i++;

  System.out.println("請(qǐng)輸入下一個(gè)職工信息:\n\n");

  staffOne[i].name=buf.readLine();

  }

  }

  void output(staffInfo staffOne[]) throws IOException

  //這里是實(shí)現(xiàn)“輸出(預(yù)覽)職工信息”output的模塊

  {

  System.out.println("--------------------------------------");

  System.out.println(" *員工信息表* );

  System.out.println("------------------------------------");

  System.out.println("姓名 工號(hào) 性別 年齡 學(xué)歷 職位 工資 電話號(hào)碼 住址");

  System.out.println("---------------------------------");

  if(i!=0)

  {

  for(int j=0;j<i;j++)

  {

  System.out.print(staffOne[j].name+" "+staffOne[j].num+" "+staffOne[j].sex+" ");

  System.out.print(staffOne[j].age+" "+staffOne[j].record+" "+staffOne[j].position+" ");

  System.out.print(staffOne[j].wanges+" "+staffOne[j].tel+" "+staffOne[j].addr+"\n");

  }

  System.out.println("------------------------------");

  }

  else System.out.println("沒有員工信息!");

  }

  void search(staffInfo staffOne[]) throws IOException

  //這里是實(shí)現(xiàn)職工信息的查詢功能的模塊

  {

  final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

  System.out.println("\n請(qǐng)輸入您要查找的職工學(xué)歷:");

  recordkey=buf.readLine();

  boolean flg=true;

  System.out.println("------------------------------------");

  System.out.println(" *員工信息表* );

  System.out.println("-----------------------------------");

  System.out.println("姓名 工號(hào) 性別 年齡 學(xué)歷 職位 工資 電話號(hào)碼 住址");

  System.out.println("---------------------------------------");

  for(int j=0;j<i;j++)

  {

  if(recordkey.equals(staffOne[j].record))

  //equals是字符串比較函數(shù)相等返回true

  {

  System.out.print(staffOne[j].name+" "+staffOne[j].num+" "+staffOne[j].sex+" ");

  System.out.print(staffOne[j].age+" "+staffOne[j].record+" "+staffOne[j].position+" ");

  System.out.print(staffOne[j].wanges+" "+staffOne[j].tel+" "+staffOne[j].addr+"\n");

  flg=false;

  }

  }

  if(flg)

  System.out.println("對(duì)不起,查無此人!");

  }

  void delete(staffInfo staffOne[]) throws IOException

  {

  final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));

  System.out.println("\n請(qǐng)輸入您要?jiǎng)h除的職工姓名:");

  recordkey=buf.readLine();

  boolean flg=true;

  for(int j=0;j<i;j++)

  {

  //System.out.println("staffOne[j].name="+staffOne[j].name);

  //System.out.println("recordkey="+recordkey);

  //System.out.println("recordkey.equals(staffOne[j].name)="+recordkey.equals(staffOne[j].name));

  if(recordkey.equals(staffOne[j].name))

  {

  for(int k=j;k<=i-1;k++)

  //利用順序表的刪除算法,刪除值之后,再把后面的值往前移位,從而實(shí)現(xiàn)刪除

  {

  staffOne[k].name=staffOne[k+1].name ;

  staffOne[k].num=staffOne[k+1].num ;

  staffOne[k].sex=staffOne[k+1].sex ;

  staffOne[k].age=staffOne[k+1].age ;

  staffOne[k].record=staffOne[k+1].record ;

  staffOne[k].position=staffOne[k+1].position ;

  staffOne[k].wanges=staffOne[k+1].wanges ;

  staffOne[k].tel=staffOne[k+1].tel ;

  staffOne[k].addr=staffOne[k+1].addr ;

  }

  i--;//職工人數(shù)要減一

  flg=false;

  }

  }

  if(flg)

  System.out.println("對(duì)不起,查無此人!。");

  else System.out.println("已經(jīng)刪除!。");

  }

  void save(staffInfo staffOne[]) throws IOException

  //數(shù)據(jù)的保存模塊, 把輸入的職工信息保存到相應(yīng)的文件里。

  {

  int k;

  final FileWriter fw=new FileWriter(filename);

  //調(diào)用構(gòu)造函數(shù)FileWriter()創(chuàng)建FileWriter類的對(duì)象。

  //文件的讀取(書216頁13-2-2)

  fw.write( i+"\n");//把職工的人數(shù)保存到文件中以便下次讀取是使用

  for( k=0;k<i;k++)//每個(gè)職工有9個(gè)信息字段,下面就是這9個(gè)信息段。

  {

  fw.write( staffOne[k].name+"\n");

  fw.write( staffOne[k].num+"\n");

  fw.write( staffOne[k].sex+"\n" );

  fw.write( staffOne[k].age+"\n");

  fw.write( staffOne[k].record+"\n");

  fw.write( staffOne[k].position+"\n") ;

  fw.write( staffOne[k].wanges+"\n");

  fw.write( staffOne[k].tel+"\n");

  fw.write( staffOne[k].addr+"\n");

  }

  fw.close();

  System.out.println("\n 系統(tǒng)已經(jīng)安全退出!感謝您的使用!");

  System.exit(0);

  }

  void read(staffInfo staffOne[]) throws IOException

  //這是程序的“讀文件模塊"!是我自己添加進(jìn)去擴(kuò)充系統(tǒng)功能的!可以使系統(tǒng)不用輸入信息就能讀取先前已存在的職工信息文件。

  {

  final FileReader fr=new FileReader(filename);

  final BufferedReader bfr=new BufferedReader(fr);

  //關(guān)于文件的讀取不會(huì)的看看書216頁13-2-2

  if((recordkey=bfr.readLine())!=null)

  i=Integer.parseInt(recordkey);

  for(int j=0;j<i;j++)

  {

  staffOne[j].name=bfr.readLine(); 這是程序的“讀文件模塊",

  是我自己添加進(jìn)去擴(kuò)充系統(tǒng)功

  staffOne[j].num=bfr.readLine(); 能的!可以使系統(tǒng)不用輸入信息

  就能讀取先前已存在的職工信息

  staffOne[j].sex=bfr.readLine(); 文件,從中讀取數(shù)據(jù)。利用了書

  本P216頁13-2-2的文件相關(guān)知識(shí)

  staffOne[j].age=bfr.readLine();

  staffOne[j].record=bfr.readLine();

  staffOne[j].position=bfr.readLine() ;

  staffOne[j].wanges=bfr.readLine();

  staffOne[j].tel=bfr.readLine();

  staffOne[j].addr=bfr.readLine();

  }

  fr.close();

  System.out.println("\n 數(shù)據(jù)已經(jīng)成功讀取!");

  }

  }

  六、心得體會(huì)

  我自己感覺此次課程設(shè)計(jì)做得挺成功的,通過這一次,我學(xué)到了不少實(shí)際編程的知識(shí)。

  在這次設(shè)計(jì)開始的第一天開始,我就開始著手修改一個(gè)用“職工信息管理系統(tǒng)”的JAVA程序。這一過程太不順利,調(diào)試的時(shí)候都沒有成功。后來我請(qǐng)教一個(gè)學(xué)長(zhǎng),在他的指導(dǎo)下我不斷的發(fā)現(xiàn)錯(cuò)誤,并改正它們,功夫不負(fù)有心人人,我的程序最后運(yùn)行成功了。

  這其中了不少的東西,磨礪了我的意志;同時(shí)還鞏固了以前所學(xué)的知識(shí),學(xué)到了不少書本上沒有的知識(shí);學(xué)到了很多java編程知識(shí),并學(xué)會(huì)了簡(jiǎn)單的使用eclipse來開發(fā)java程序的一些使用技巧這次課程設(shè)計(jì)是對(duì)我本學(xué)期所學(xué)的知識(shí)的檢驗(yàn),由此我發(fā)現(xiàn)了不少的問題??梢哉f它給了我一次自我評(píng)估的機(jī)會(huì)。通過設(shè)計(jì)讓我知道了那些方面我還是有欠缺的,促使我花時(shí)間彌補(bǔ)。

  臨近考試,時(shí)間太緊迫,致使程序?qū)崿F(xiàn)的功能在方法上也許不是很完美,但我以后會(huì)多向老師請(qǐng)教,自己也要加強(qiáng)對(duì)Java 的學(xué)習(xí)。努力進(jìn)一步提高自己的編程水平。

  參考資料

  1、《程序天下》

  2、洪維恩、何嘉《java2面向?qū)ο蟪绦蛟O(shè)計(jì)》

  3、Java天下-java、jsp編程論壇[黑咖啡屋]

  4、黃旭等《java課程設(shè)計(jì)指導(dǎo)》

  5、C編程設(shè)計(jì)(第三版) 譚浩強(qiáng)(著)

看了java畢業(yè)論文范文的人還看了:

1.大學(xué)計(jì)算機(jī)論文精選范文

2.計(jì)算機(jī)系畢業(yè)論文范文

3.大學(xué)計(jì)算機(jī)專業(yè)畢業(yè)論文范文

4.java畢業(yè)實(shí)習(xí)報(bào)告范文

5.與計(jì)算機(jī)有關(guān)的畢業(yè)論文

524340