課程設(shè)計(jì)論文 java記算器

上傳人:沈*** 文檔編號(hào):80626391 上傳時(shí)間:2022-04-25 格式:DOC 頁(yè)數(shù):22 大?。?18.02KB
收藏 版權(quán)申訴 舉報(bào) 下載
課程設(shè)計(jì)論文 java記算器_第1頁(yè)
第1頁(yè) / 共22頁(yè)
課程設(shè)計(jì)論文 java記算器_第2頁(yè)
第2頁(yè) / 共22頁(yè)
課程設(shè)計(jì)論文 java記算器_第3頁(yè)
第3頁(yè) / 共22頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《課程設(shè)計(jì)論文 java記算器》由會(huì)員分享,可在線閱讀,更多相關(guān)《課程設(shè)計(jì)論文 java記算器(22頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、秦皇島職業(yè)技術(shù)學(xué)院信息工程系 秦皇島職業(yè)技術(shù)學(xué)院 課程設(shè)計(jì)論文 設(shè)計(jì)題目: java記算器 學(xué)生姓名: 指導(dǎo)教師: 專業(yè)名稱:計(jì)算機(jī)應(yīng)用技術(shù)專業(yè) 所在院系: 信息工程系 年 月 日 19 摘 要 該程序是一個(gè)圖形界面的java記事本,其界面主要采用了swing包, 程序?qū)崿F(xiàn)了文本編輯器的基本功能有:新建文件、打開(kāi)文件、文件保存、文件另存為、剪切

2、、復(fù)制、粘貼、刪除、查找/替換、改變字體大小,另外還利用Time類的schedule方法實(shí)現(xiàn)了文件的定時(shí)自動(dòng)更新功能,并創(chuàng)建備份文件,由于Swing是一個(gè)用于開(kāi)發(fā)Java應(yīng)用程序用戶界面的開(kāi)發(fā)工具包。它以抽象窗口工具包(AWT)為基礎(chǔ)使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。所以只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來(lái)創(chuàng)建優(yōu)雅的用戶界面。 Java的早期版本以來(lái),抽象窗口工具包為用戶界面組件提供了平臺(tái)獨(dú)立的API。在AWT中,每個(gè)組件都由一個(gè)原生的等同組件生成和控制,這個(gè)原生組件是由當(dāng)前的圖形窗口系統(tǒng)決定的。 ???與此相對(duì),Swing 組件經(jīng)常被描述為輕量級(jí)

3、的,因?yàn)樗鼈儾恍枰僮飨到y(tǒng)本身所帶窗口工具包的原生資源來(lái)生成。 Swing API 的大部分是AWT的補(bǔ)充擴(kuò)展而不是直接的代替。Swing用來(lái)繪制輕量級(jí)組件的核心渲染功能是由Java2D提供的,這是AWT的一部分。然而,輕量級(jí)和重量級(jí)組件在同一個(gè)應(yīng)用中使用會(huì)導(dǎo)致Z-order不兼容。 標(biāo)準(zhǔn)器件工具包 是一個(gè)最初由IBM開(kāi)發(fā)的工具包,現(xiàn)在由Eclipse基金會(huì)維護(hù)。 SWT的實(shí)現(xiàn)同重量級(jí)的組件AWT有更多的共同之處。這樣的好處是運(yùn)行開(kāi)銷同所在平臺(tái)的原生窗口工具包更為接近。 關(guān)鍵字:java 程序 編輯器 記事本 目 錄 第1章 概要設(shè)計(jì) 1 1.1查找

4、資料 1 1.2選題 1 1.3總結(jié)數(shù)據(jù)、明確任務(wù) 2 1.4本次設(shè)計(jì)的重大意義 2 1.5本章小節(jié) 3 第2章 程序整體設(shè)計(jì)說(shuō)明 4 2.1程序框架圖 4 2.2程序部分源代碼及注釋 5 2.3程序運(yùn)行效果 8 2.4本章小節(jié) 8 第3章 設(shè)計(jì)中遇到的重點(diǎn)及難點(diǎn) 12 3.1設(shè)計(jì)中遇到的重點(diǎn) 12 3.2設(shè)計(jì)中的遇到的難點(diǎn) 12 3.3本章小節(jié) 13 第4章 本次設(shè)計(jì)中存在不足與改良方案 14 4.1本次設(shè)計(jì)中存在的不足 14 4.2本次設(shè)計(jì)的改良方案 14 4.3本章小節(jié) 14 結(jié) 論 15 參考文獻(xiàn) 16 致 謝 17 指導(dǎo)教師評(píng)語(yǔ)

5、18 答辯委員會(huì)評(píng)語(yǔ) 19 第1章概要設(shè)計(jì) 1.1查找資料 21世紀(jì),隨著社會(huì)經(jīng)濟(jì)的迅速發(fā)展和科學(xué)技術(shù)的全面進(jìn)步,人類社會(huì)已進(jìn)入信息和網(wǎng)絡(luò)時(shí)代。計(jì)算機(jī)正以其前所未有的驚人速度向前發(fā)展,新的研究成果、新的實(shí)用軟件不斷涌現(xiàn)。計(jì)算機(jī)應(yīng)用也普及到各行各業(yè)、深入到人類各種社會(huì)活動(dòng)和生產(chǎn)中。為了便于對(duì)大量信息的處理,運(yùn)用計(jì)算機(jī)軟件實(shí)現(xiàn)自動(dòng)管理成為了必然的趨勢(shì)?!坝浭卤尽笔且粋€(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,也可以作為創(chuàng)建 Web 頁(yè)的簡(jiǎn)單工具。所以我們需要開(kāi)發(fā)一個(gè)記事本系統(tǒng)來(lái)實(shí)現(xiàn)大量信息的管理。開(kāi)發(fā)工具是完成整個(gè)設(shè)計(jì)的重要基礎(chǔ)

6、,沒(méi)有工具我們就無(wú)法進(jìn)行開(kāi)發(fā)和設(shè)計(jì)工作,所以開(kāi)發(fā)工具的選擇也就成為了我們開(kāi)發(fā)過(guò)程中很關(guān)鍵的一步。我們選用了Java來(lái)完成記事本系統(tǒng)的設(shè)計(jì),并運(yùn)用Jcreator LE集成開(kāi)發(fā)環(huán)境。 Java 語(yǔ)言具有簡(jiǎn)單、面向?qū)ο?、分布式、解釋?zhí)行、可移植性、多線程以及動(dòng)態(tài)性的特點(diǎn)使我們可以開(kāi)發(fā)出功能強(qiáng)大的應(yīng)用程序 1.2選題 Java程序編輯器是:圖形界面、線程、流與文件等技術(shù)的綜合應(yīng)用。 圖形界面的實(shí)現(xiàn):考慮到簡(jiǎn)單、實(shí)用、高效等特點(diǎn),就選擇了AWT來(lái)完成實(shí)現(xiàn),在選擇組件上,文本編輯區(qū)就選用了TaxtArea作為主要的部件。 線程實(shí)現(xiàn)文件自動(dòng)保存:在相關(guān)的參考書(shū)上查閱到在Time類中有一個(gè)sched

7、ule方法可以在后臺(tái)自動(dòng)完成一定的功能,而且調(diào)用起來(lái)相當(dāng)簡(jiǎn)單,于是就用了Time類中的schedule方法來(lái)實(shí)現(xiàn)文件自動(dòng)保存及備份功能。 文件操作的實(shí)現(xiàn):利用了字符文件流FileReader和FileWriter類來(lái)實(shí)現(xiàn)。 由于Java的特性,可能用任何一個(gè)編輯器來(lái)編輯,于是就將Windows中的記事本作為模仿對(duì)象,根據(jù)實(shí)現(xiàn)情況刪減了其中的一些功能,如自動(dòng)換行,設(shè)置字體,打印等功能。 在設(shè)計(jì)類的時(shí)候,考慮到簡(jiǎn)單明了,就用了兩個(gè)類,一個(gè)主類和一個(gè)默認(rèn)屬性類作為程序的整體框架,所有的對(duì)象和方法都是在默認(rèn)屬性類中創(chuàng)建和實(shí)現(xiàn)的,以及為各組件注冊(cè)事件監(jiān)聽(tīng)程序也是在默認(rèn)屬性類中實(shí)現(xiàn)的。主類完成對(duì)象的

8、實(shí)例化及顯示。這們?cè)O(shè)計(jì)的優(yōu)點(diǎn)是:條理清晰,容易理解,容易修改。這樣設(shè)計(jì)的缺點(diǎn)是:不利于共享類中的方法。 1.3 總結(jié)數(shù)據(jù)、明確任務(wù) 1.3.1總結(jié)數(shù)據(jù) (1)程序易懂 編寫代碼的過(guò)程中,應(yīng)時(shí)刻意識(shí)到所編寫的代碼不僅要能夠在機(jī)器中運(yùn)行,還要使別人容易看懂。機(jī)器能夠運(yùn)行而別人無(wú)法理解的程序,不是好程序,為此要盡量遵循原則,寫簡(jiǎn)單明了的代碼。 (2)先設(shè)計(jì),后編碼 在編碼之前作好程序的設(shè)計(jì)工作,可以減少以后重復(fù)修改代碼的工作量,作到事倍功半。因此在真正開(kāi)始編程前,花一定時(shí)間搞清楚怎樣寫代碼,將來(lái)可能花更少的時(shí)間編寫代碼,而且會(huì)減少將來(lái)大量修改代碼的機(jī)會(huì)。 (3)保持代碼簡(jiǎn)潔 復(fù)雜代碼

9、寫后不易理解,在修改和重寫上難度比較大,使工作更加復(fù)雜,所以編寫代碼時(shí)應(yīng)保持代碼的簡(jiǎn)潔易懂。 (4)功能實(shí)現(xiàn) 在整個(gè)設(shè)計(jì)中要保持完整性,能夠?qū)崿F(xiàn)記事本中最基本的功能,如打開(kāi)、保存等。所寫內(nèi)容的字體可以自由設(shè)置,顏色也可隨意更改。 1.3.2明確任務(wù) 用java編寫一個(gè)簡(jiǎn)單的記事本,使其能夠?qū)崿F(xiàn)最基本的功能,如文件的打開(kāi)、新建、保存、退出,編輯的刪除、全選、剪切、復(fù)制、粘貼,格式的字體、顏色設(shè)置等等。 1.4 本次設(shè)計(jì)的重大意義 這次編寫的java記事本是用來(lái)查看文本文件的,也是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器。它具有簡(jiǎn)單方便的特點(diǎn),是人們?cè)谶\(yùn)用計(jì)算機(jī)時(shí)必不可少的一個(gè)查看和手

10、寫文本的工具。 1.5 本章小結(jié) 通過(guò)第一章我們可以了解到這次java課程設(shè)計(jì)的一個(gè)總的概況。掌握了java程序編輯器、圖形界面以及文件操作的實(shí)現(xiàn)。這次程序設(shè)計(jì)在設(shè)計(jì)類的時(shí)候??紤]到了簡(jiǎn)單明了。這們?cè)O(shè)計(jì)的優(yōu)點(diǎn)是:條理清晰,容易理解,容易修改。 第2章程序整體設(shè)計(jì)說(shuō)明 程序框架圖為應(yīng)用程序提供一個(gè)圖形化的界面本次設(shè)計(jì)運(yùn)行出的程序框架圖如圖2-1所示 新建 文件 打開(kāi) 保存 另存為 頁(yè)面設(shè)置 打印 退出 編輯 撤消 重做 剪切 復(fù)制 粘貼 刪除 全選 時(shí)間/日期 格式 自動(dòng)換行 字體 設(shè)置顏色 字體

11、顏色 查看 狀態(tài)欄 幫助 幫助主題 關(guān)于記事本 背景顏色 圖2-1程序框架圖 2.2 程序部分源代碼及注釋 2.2.1程序中所用包說(shuō)明 //import java packages import java.awt.*; //包含用于創(chuàng)建用戶界面和繪制圖形圖像的所有類 import java.awt.event.*; //提供處理由 AWT 組件所激發(fā)的各類事件的接口和類。 import java.text.*;

12、//提供以與自然語(yǔ)言無(wú)關(guān)的方式來(lái)處理文本、日期、數(shù)字和消息的類和接口。 import java.util.*; //包含集合框架、遺留的 collection 類、事件模型、日期和時(shí)間設(shè)施、國(guó)際化和各種實(shí)用工具類(字符串標(biāo)記生成器、隨機(jī)數(shù)生成器和位數(shù)組)。 import java.io.*; //通過(guò)數(shù)據(jù)流、序列化和文件系統(tǒng)提供系統(tǒng)輸入和輸出。 import javax.swing.undo.*; //允許開(kāi)發(fā)人員為應(yīng)用程序(例如文本編輯器)中的撤消/恢復(fù)提供支持。 import javax

13、.swing.border.*; //提供圍繞 Swing 組件繪制特殊邊框的類和接口。 import javax.swing.*; //提供一組“輕量級(jí)”(全部是 Java 語(yǔ)言)組件,盡量讓這些組件在所有平臺(tái)上的工作方式都相同。 import javax.swing.text.*; //提供類 HTMLEditorKit 和創(chuàng)建 HTML 文本編輯器的支持類。 import javax.swing.event.*; //供 Swing 組件觸發(fā)的事件使用。 import j

14、ava.awt.datatransfer.*; //提供在應(yīng)用程序之間和在應(yīng)用程序內(nèi)部傳輸數(shù)據(jù)的接口和類。 import java.awt.print.*; //啟動(dòng)并執(zhí)行打印機(jī)作業(yè)的抽象類。 import javax.print.attribute.*; //為打印機(jī)請(qǐng)求屬性(即:實(shí)現(xiàn)接口 PrintRequestAttribute 的打印屬性)的集合指定接口。 2.2.2程序中所用到的變量 (1)定義類變量 JMenu //定義菜單 JMenu

15、Item //菜單中項(xiàng)的實(shí)現(xiàn) JMenuBar //菜單欄的實(shí)現(xiàn)。將 JMenu 對(duì)象添加到菜單欄以構(gòu)造菜單。 JCheckBoxMenuItem //可以被選定或取消選定的菜單項(xiàng)。如果被選定,菜單項(xiàng)的旁邊通常會(huì)出現(xiàn)一個(gè)復(fù)選標(biāo)記。如果未被選定或被取消選定,菜單項(xiàng)的旁邊就沒(méi)有復(fù)選標(biāo)記 JtextArea //JTextArea 是一個(gè)顯示純文本的多行區(qū)域。 JLabel

16、 //用于短文本字符串或圖像或二者的顯示區(qū)。標(biāo)簽不對(duì)輸入事件作出反應(yīng)。因此,它無(wú)法獲得鍵盤焦點(diǎn)。但是,標(biāo)簽可以為具有鍵盤替換功能卻無(wú)法顯示的鄰近組件方便地顯示其鍵盤替換功能 JPopupMenu //彈出菜單的實(shí)現(xiàn),彈出菜單是一個(gè)可彈出并顯示一系列選項(xiàng)的小窗口。JPopupMenu 用于用戶在菜單欄上選擇項(xiàng)時(shí)顯示的菜單。它還用于當(dāng)用戶選擇菜單項(xiàng)并激活它時(shí)顯示的“右拉式 (pull-right)”菜單。最后,JPopupMenu 還可以在想讓菜單顯示的任何其他位置使用。例如,當(dāng)用戶在指定區(qū)域中右擊時(shí)。

17、 Toolkit //java.awt中的類此類是 Abstract Window Toolkit 的所有實(shí)際實(shí)現(xiàn)的抽象超類。 Clipboard //java.awt.datatransfer中的類,此類實(shí)現(xiàn)一種使用剪切/復(fù)制/粘貼操作傳輸數(shù)據(jù)的機(jī)制。 Font //Font類表示字體,用來(lái)以可見(jiàn)方式呈現(xiàn)文本。 UndoManager //ja

18、vax.swing.undo中的類可以充當(dāng) UndoableEditListener的 CompoundEdit的具體子類,并合并來(lái)自各種源的UndoableEditEvents,并且一次執(zhí)行一個(gè)撤消或恢復(fù)操作。 (2)其它變量 boolean isNewFile=true; //是否新文件(未保存過(guò)的) File currentFile; //當(dāng)前文件名 String oldValue; //存放編輯區(qū)原來(lái)的內(nèi)容,用于比較文本是否有改動(dòng) JButto

19、n fontOkButton; //字體設(shè)置里的"確定"按鈕 2.2.3程序中所用到的代碼 構(gòu)造函數(shù) public Notepad() { super("記事本"); Container container=getContentPane(); //獲取容器 //創(chuàng)建菜單條 JMenuBar menuBar = new JMenuBar(); //菜單欄的實(shí)現(xiàn)。將JMenu對(duì)象添加到菜單欄以構(gòu)造菜單。 //創(chuàng)建文件菜單及菜單項(xiàng) JMenu fileMenu = new JMenu("文件(F)", true);

20、 fileMenu.setMnemonic('F'); //設(shè)置快捷鍵Alt+F從類javax.swing繼承的方法設(shè)置此按鈕的鍵盤助記符(快捷鍵或加速器)。 fileMenu_New = new JMenuItem("新建(N)", 'N');// 創(chuàng)建帶有指定文本和鍵盤助記符的 JMenuItem。 fileMenu_New.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK)); //設(shè)置組合鍵,它能直接調(diào)用菜單項(xiàng)的操作偵聽(tīng)器而不必顯示菜單的層

21、次結(jié)構(gòu)。UI 負(fù)責(zé)安裝正確的操作。注意,當(dāng)鍵入鍵盤加速器時(shí),不管目前是否顯示菜單,它都會(huì)運(yùn)行。 fileMenu_Open = new JMenuItem("打開(kāi)(O)...", 'O'); //文件菜單中的打開(kāi)項(xiàng) fileMenu_Open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.CTRL_MASK)); 文件菜單中還有保存、另存為、頁(yè)面設(shè)置、打印、退出等菜單項(xiàng)。此菜單項(xiàng)功能與前面所列出的新建、打開(kāi)功能一樣,另外在編輯菜單中有編輯、重做、剪切、復(fù)制、粘貼、刪除、全選、時(shí)間/日期等菜單項(xiàng),它們的功能

22、同上面創(chuàng)建文件菜單及菜單項(xiàng)的功能等同。在此就不做詳細(xì)的介紹了。 //創(chuàng)建格式菜單及菜單項(xiàng) JMenu formatMenu = new JMenu("格式(O)", true); formatMenu_LineWrap = new JCheckBoxMenuItem("自動(dòng)換行(W)"); formatMenu_LineWrap.setState(true); //設(shè)置菜單項(xiàng)的選定狀態(tài) formatMenu_Font = new JMenuItem("字體(F)...",'F'); formatMenu_Color = new JMenu("設(shè)置顏色"); for

23、matMenu_Color_FgColor=new JMenuItem("字體顏色"); formatMenu_Color_BgColor=new JMenuItem("背景顏色"); //創(chuàng)建查看菜單及菜單項(xiàng) JMenu viewMenu = new JMenu("查看(V)", true); viewMenu_Status = new JCheckBoxMenuItem("狀態(tài)欄(S)"); viewMenu_Status.setState(true); //設(shè)置菜單項(xiàng)的選定狀態(tài) JMenu helpMenu = new JMenu("幫助(H)", true)

24、; helpMenu_HelpTopics = new JMenuItem("幫助主題(H)",'H'); helpMenu_HelpTopics.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1,0)); helpMenu_About = new JMenuItem("關(guān)于記事本(A)",'A'); menuBar.add(fileMenu); fileMenu.add(fileMenu_New); fileMenu.add(fileMenu_Open); fileMenu.add(fileMenu_Save); fil

25、eMenu.add(fileMenu_SaveAs); fileMenu.addSeparator(); //分隔線 fileMenu.add(fileMenu_PageSetup); fileMenu.add(fileMenu_Print); fileMenu.addSeparator(); //分隔線 fileMenu.add(fileMenu_Exit); 向菜單條添加"編輯"菜單及菜單項(xiàng)、向菜單條添加"格式"菜單及菜單項(xiàng)、向菜單條添加"查看"菜單及菜單項(xiàng)、向菜單條添加"幫助"菜單及菜單項(xiàng)、向窗口添加菜單條同上面的向菜單條添加“文件“菜單及菜單項(xiàng)一樣

26、。 2.3 程序運(yùn)行效果 (1)程序運(yùn)行主要界面如下: a.打開(kāi)文件對(duì)話框 圖2-2打開(kāi)文件對(duì)話框 c.保存文件對(duì)話框 圖2-3保存文件對(duì)話框 d.另存為對(duì)話框 圖2-4另存為對(duì)話框 e.打印對(duì)話框 圖2-4打印對(duì)話框 d.字體對(duì)話框 圖2-5字體對(duì)話框 2.4本章小結(jié) 本章主要介紹了用java創(chuàng)建記事本的主要代碼以及運(yùn)行后的效果圖。運(yùn)行java記事本以后出現(xiàn)的那個(gè)框架圖就是我們所說(shuō)的java圖形用戶界面(GUI),它是程序與用戶進(jìn)行交流的圖像窗口,為應(yīng)用程序提供一個(gè)圖形化的界面,程序通過(guò)GUI與用戶交互,GUI通過(guò)事件機(jī)制響應(yīng)用戶和

27、程序的交互。如當(dāng)用戶單擊某個(gè)按鈕時(shí)就會(huì)產(chǎn)生動(dòng)作事件,要處理產(chǎn)生的事件,需要在特定的方法中編寫處理事件的程序。這樣,當(dāng)產(chǎn)生某種事件時(shí)就會(huì)調(diào)用處理這種事件的方法,從而實(shí)現(xiàn)用戶與程序的交互。另外GUI能使一個(gè)應(yīng)用程序具有與眾不同的“外觀”與“感覺(jué)”。有了GUI,用戶就不用花很多時(shí)間去記憶各個(gè)鍵盤序列的功能,從而把更多的時(shí)間投入到有效地使用應(yīng)用程序本身上。 第3章設(shè)計(jì)中遇到的重點(diǎn)及難點(diǎn) 3.1設(shè)計(jì)中遇到的重點(diǎn) 在這次設(shè)計(jì)中,遇到的重點(diǎn)有以下兩點(diǎn): (1)Java記事本在新建文件時(shí),打開(kāi)文件時(shí),保存文件、另存為文件時(shí)處理IOException異常。處理方法是在

28、遇到異常時(shí)用try,catch方法對(duì)異常進(jìn)行捕獲。 (2)java記事本中還用到了繼承 繼承是面向?qū)ο蠓椒ㄖ幸粋€(gè)十分重要的的概念,并且是提高軟件開(kāi)發(fā)效率的重要原因之一。繼承實(shí)際上是存在于面向?qū)ο蟪绦蛑械膬蓚€(gè)類之間的一種關(guān)系。 繼承的實(shí)現(xiàn)主要有以下幾個(gè)步驟。 (1)確定父類。根據(jù)將創(chuàng)建的子類需要選擇一個(gè)相應(yīng)的類作為繼承父類。新定義的子類可以從父類那里自動(dòng)繼承所有非私有的屬性和方法作為自己的成員。選擇一個(gè)恰當(dāng)?shù)母割惪梢赃_(dá)到事半功倍的效果。 (2)定義子類。Java中的繼承是通過(guò)extends關(guān)鍵字來(lái)實(shí)現(xiàn)的,在定義類時(shí)使用extends關(guān)鍵字指明新定義類的父類,就在兩個(gè)類之間建立了繼承關(guān)系

29、。 (3)實(shí)現(xiàn)子類的功能。子類具體要實(shí)現(xiàn)的功能由類體中相應(yīng)的域和方法來(lái)實(shí)現(xiàn),其編寫和一般的類是完全相同的。 通過(guò)繼承,子類擁有父類的所有非私有成員。使用繼承具有以下的好處:降低了代碼編寫中的冗余度,更好地實(shí)現(xiàn)了代碼復(fù)用的功能,從而提高了程序編寫的效率;由于降低了代碼的冗余度,使得程序在維護(hù)時(shí)就變得非常的方便。 3.2設(shè)計(jì)中遇到的難點(diǎn) 在編寫java記事本文件中的新建、打開(kāi)、保存、另存為時(shí)有異常出現(xiàn)。異常是這次設(shè)計(jì)中的重點(diǎn)也是一個(gè)難點(diǎn)。 任何計(jì)算機(jī)語(yǔ)言的程序都難免有漏洞,捕獲錯(cuò)誤最理想的是在編譯期間,最好在試圖運(yùn)行程序以前。Java支持的異常處理功能比其他語(yǔ)言提供的更靈活。當(dāng)java程

30、序執(zhí)行中發(fā)生錯(cuò)誤時(shí),錯(cuò)誤事件對(duì)象可能導(dǎo)致的程序運(yùn)行錯(cuò)誤稱為異常,異常會(huì)輸出錯(cuò)誤消息,使其知道該如何正確地處理遇到的問(wèn)題。 當(dāng)java運(yùn)行系統(tǒng)在得到一個(gè)異常對(duì)象時(shí),它將會(huì)尋找處理這一異常的代碼,找到能夠處理這種類型異常的方法后,運(yùn)行時(shí)系統(tǒng)把當(dāng)前異常對(duì)象交給這個(gè)方法進(jìn)行處理,這一過(guò)程稱為捕獲(catch)異常。如果java運(yùn)行時(shí)系統(tǒng)找不到可以捕獲異常的方法,則運(yùn)行時(shí)系統(tǒng)將會(huì)終止,相應(yīng)的java程序也將退出。這次在java記事本程序用到的就是try,catch來(lái)捕獲的異常。 3.3本章小結(jié) 通過(guò)這一章我們了解到了繼承和異常的處理。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,通過(guò)采用繼承的機(jī)制來(lái)組織、設(shè)計(jì)系統(tǒng)中的類

31、,可以提高程序的抽象程序,使之更接近于人類的思維方式,同時(shí)也可以提高程序開(kāi)發(fā)效率,降低維護(hù)的工作量。我們還知道了一些異常處理的情況,異常是在運(yùn)行時(shí)發(fā)生的錯(cuò)誤,使用java異常處理子系統(tǒng),就可以用一種結(jié)構(gòu)化的可控方式來(lái)處理運(yùn)行時(shí)的錯(cuò)誤。在使用try, catch來(lái)捕獲異常時(shí)。這兩個(gè)關(guān)鍵字要一起使用,只有try而沒(méi)有catch,或者是只有catch而沒(méi)有try都是不可以的。當(dāng)try描述的代碼段遇到異常發(fā)生時(shí),計(jì)算機(jī)控制權(quán)由try轉(zhuǎn)移到catch異常處理代碼塊。當(dāng)拋出一個(gè)異常時(shí),異常會(huì)由相應(yīng)的catch語(yǔ)句來(lái)捕獲并處理。 第4章本次設(shè)計(jì)存在不足與改良方案 4.1 本次設(shè)計(jì)中存

32、在的不足 在本次設(shè)計(jì)中主要有以下幾個(gè)方面是不完善的。 (1)頁(yè)面設(shè)置的不足 頁(yè)面設(shè)置尚未添加,只有一個(gè)框架,不能實(shí)現(xiàn)其功能如圖4-1所示: 圖4-1頁(yè)面設(shè)置 (2)查找與替換的不足 我花費(fèi)了近兩個(gè)多星期的時(shí)間,查閱了許多相關(guān)的資料,終于把這個(gè)Java記事本程序基本實(shí)現(xiàn)了該課程設(shè)計(jì)的基本要求。但由于自己水平有限,使得程序還有不是很完善,首先,最重要的一點(diǎn)是該設(shè)計(jì)的查找替換功能沒(méi)有實(shí)現(xiàn)。 4.2本次設(shè)計(jì)的改良方案 ①整體結(jié)構(gòu)合理,風(fēng)格一致,模塊化結(jié)構(gòu),界面清晰,接口靈活,操作簡(jiǎn)便。 ②開(kāi)發(fā)方法,文檔規(guī)范化,便于管理,可擴(kuò)充。 ③添加上查找與替換的功能,使程序更加完善。 4

33、.3本章小結(jié) 通過(guò)對(duì)本程序的改良,這個(gè)程序?qū)?huì)更加完善,問(wèn)題都是我們自己發(fā)現(xiàn)的,只要我們多做,就會(huì)發(fā)現(xiàn)問(wèn)題,只有發(fā)現(xiàn)問(wèn)題還會(huì)去想怎樣去解決問(wèn)題。這樣系統(tǒng)就會(huì)不斷的改善,不斷的提高。 結(jié) 論 通過(guò)此次課程設(shè)計(jì),將我本學(xué)期所學(xué)的JAVA知識(shí)得到鞏固和應(yīng)用,在設(shè)計(jì)的過(guò)程中我遇到了很到問(wèn)題,不過(guò)在老師和同學(xué)們的幫助和自己的思考下還是很好的完成了。這此課程設(shè)計(jì)還讓我懂得了寫程序不能閉門造車,要努力拓寬知識(shí)面,開(kāi)闊視野,拓展思維。它還讓我學(xué)會(huì)了在網(wǎng)上查閱那些無(wú)限的資料。我深刻地體會(huì)到自己所學(xué)知識(shí)得淺薄,當(dāng)課程結(jié)束以后感覺(jué)自己已經(jīng)掌握了Java的真諦,但是在課程設(shè)計(jì)中我才發(fā)現(xiàn)自己僅僅握了一點(diǎn)皮毛

34、而已,存在的一些問(wèn)題全暴露出來(lái)了。 參考文獻(xiàn) [1] Bruce Ecle,《java編程思想》,機(jī)械工業(yè)出版社.2002.3 [2] 朱戰(zhàn)立,沈偉,《java程序設(shè)計(jì)實(shí)用教程》,電子工業(yè)出版社. 2000.1 [3] 吳曉東,《java程序設(shè)計(jì)基礎(chǔ)》,清華大學(xué)出版社. 2005.6 [4] 朱喜福,林建民,《java程序設(shè)計(jì)》,人民郵電出版社,2001 [5] 印旻,《Java與面向?qū)ο蟪绦蛟O(shè)計(jì)教程》,高等教育出版社,2004.4 [6] 林智揚(yáng),范明,《Java Swing程序設(shè)計(jì)》,中國(guó)鐵道出版社,2005.5

35、 致 謝 論文完成的前提是老師給我提供了舒適的工作、學(xué)習(xí)環(huán)境,并給予我悉心的關(guān)懷與指導(dǎo)。在些表示衷心地感謝。老師認(rèn)真負(fù)責(zé)的工作態(tài)度、嚴(yán)謹(jǐn)?shù)闹螌W(xué)風(fēng)格,使我深受啟發(fā);開(kāi)發(fā)的同時(shí),和同學(xué)們之間的相互探討也使我獲益匪淺。半年時(shí)間內(nèi),我除基本學(xué)會(huì)開(kāi)發(fā)java程序外更重要的是學(xué)到了兢兢業(yè)業(yè),奮發(fā)向上的精神,這種精神是我今后人生前進(jìn)道路上的一種力量。所以我再次感謝老師和我的同學(xué)們。在本次Java課程設(shè)計(jì)中,首先要感謝我的指導(dǎo)老師李旺彥老師教給了我很多的Java的編程知識(shí),編程思想,還有要感謝我的同學(xué),是他們?cè)谖矣龅嚼щy時(shí)給了我指導(dǎo) 指導(dǎo)教師評(píng)語(yǔ) 指導(dǎo)教師: 年 月 日 答辯委員會(huì)評(píng)語(yǔ) 答辯委員會(huì)簽字: 年 月 日

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!