昆明理工大學(xué)報告封面_第1頁
昆明理工大學(xué)報告封面_第2頁
昆明理工大學(xué)報告封面_第3頁
昆明理工大學(xué)報告封面_第4頁
昆明理工大學(xué)報告封面_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、課程設(shè)計匡唄理N夬聲課程設(shè)計任務(wù)書信息工程與自動化 學(xué)院 物聯(lián)網(wǎng)工程 專業(yè)2013 年級學(xué)生姓名:鄒華建課程設(shè)計題目:JAVA 程序設(shè)計課程設(shè)計主要內(nèi)容:把指定目錄中的學(xué)生照片文件(處理文件可以自選)名更改為學(xué)號命 名,并將更名后的文件復(fù)制到新的目錄中。一、課程設(shè)計的目的Java語言是當(dāng)今流行的網(wǎng)絡(luò)編程語言,它具有面向?qū)ο?、跨平臺、分布應(yīng)用等特點。面向?qū)?象的開發(fā)方法是當(dāng)今世界最流行的開發(fā)方法,它不僅具有更貼近自然的語義,而且有利于軟件的 維護和繼承。為了進一步鞏固課堂上所學(xué)到的知識,深刻把握J(rèn)ava語言的重要概念及其面向?qū)ο蟮奶匦?,鍛煉學(xué)生熟練的應(yīng)用面向?qū)ο蟮乃枷牒驮O(shè)計方法解決實際問題的能力

2、,開設(shè)了一周的Java程序設(shè)計課程設(shè)計。通過此次課程設(shè)計,鞏固所學(xué) Java語言基本知識,增進Java語言編輯基本功,掌握 JDK、 Editplus、Eclipse、JCreator等開發(fā)工具的運用,拓寬常用類庫的應(yīng)用。使學(xué)生通過該教學(xué)環(huán)節(jié)與 手段,把所學(xué)課程及相關(guān)知識加以融會貫通,全面掌握J(rèn)ava語言的編程思想及面向?qū)ο蟪绦蛟O(shè)計的方法,為今后從事實際工作打下堅實的基礎(chǔ)。二、Java課程短學(xué)期設(shè)計報告要求任務(wù) 1:用 java 編寫程序?qū)崿F(xiàn)對文件的操作,實現(xiàn)對文件的讀寫操作:(1) 對文本中的句子進行分詞并將分詞結(jié)果輸出到excel 文件或 txt 中;(2)把指定目錄中的學(xué)生照片文件(處理

3、文件可以自選)名更改為學(xué)號命名,并將更名后的 文件復(fù)制到新的目錄中。任務(wù)2:將輸出的數(shù)字進行排序通過使用java實現(xiàn);任務(wù) 3:設(shè)計一個具有簡單功能的計算器;三、課程設(shè)計的基本要求1、明確題目要求,進行需求分析;2、進行功能設(shè)計,編寫設(shè)計說明;3、進行程序設(shè)計與調(diào)試;4、對設(shè)計過程進行系統(tǒng)的總結(jié);5、界面美觀大方;6、完成設(shè)計報告,課程設(shè)計報告應(yīng)包含以下八個內(nèi)容: 課程設(shè)計題目; 功能描述:對系統(tǒng)要實現(xiàn)的功能進行簡明扼要的描述。 方案論證: 概要設(shè)計:根據(jù)功能描述,建立系統(tǒng)的體系結(jié)構(gòu),即將整個系統(tǒng)分解成若干子功能模塊, 并用框圖表示各功能模塊之間的銜接關(guān)系,并簡要說明各模塊的功能。詳細設(shè)計:詳

4、細說明各功能模塊的實現(xiàn)過程,所用到的算法、技巧等。 程序說明; 效果及存在問題:說明系統(tǒng)的運行效果(附上運行界面圖片) 、存在哪些不足以及預(yù) 期解決辦法; 結(jié)果分析及心得體會:談?wù)勛约涸谡n程設(shè)計過程中的心得體會; 附錄:附上各功能模塊的主要代碼; 參考文獻:按參考文獻規(guī)范列出各種參考文獻,包括參考書目,論文和網(wǎng)址等。7、認(rèn)真努力完成作業(yè)。要求獨立完成,不抄襲、不雷同( 雷同抄襲者 ,均為 0分) 。按時交作業(yè)。8、 課程設(shè)計建議在 Editplus +JDK, Eclipse +JDK 平臺上開發(fā)、調(diào)試。9、 Java 源程序應(yīng)加上詳盡的注釋語句,對所設(shè)計的類、屬性、方法說明其用途,對方法的調(diào)

5、用 說明其用意和使用參數(shù)的原因。特別是有深刻理解、有獨特見解的地方,用注釋語句加以說 明。10、課程設(shè)計作業(yè)包括全部軟件工程文件和課程設(shè)計說明書文件。課程設(shè)計說明書打印到規(guī)定的 課程設(shè)計說明書用紙上,并裝訂好。說明書格式參考附件。四、課程設(shè)計的主要內(nèi)容利用學(xué)到的編程知識和編程技巧,通過具體項目的分析、設(shè)計和開發(fā),掌握開發(fā)Java 大型軟件項目過程中所需要的軟件技術(shù)并熟悉軟件??梢砸孕〗M為單位,每組 1 至 3 名學(xué)生,在教師的指導(dǎo)下,每組完成一至二個題目。題目可 由下面提供的選題中選擇或?qū)W生自選經(jīng)教師審核后方可。該組每個同學(xué)承擔(dān)題目的不同部分,每 位同學(xué)的課程設(shè)計報告必需獨立完成。題目類型大致

6、分配如下:1、網(wǎng)絡(luò)通訊類,編制網(wǎng)絡(luò)聊天 (Chat) 程序,以下簡稱“網(wǎng)絡(luò)”類。2、圖形界面 Application 類,編制類似計算器、 MP3 播放器、圍棋打譜,斗地主、潛艇大戰(zhàn)、挖地雷、迷宮等功能單一的程序,以下簡稱“圖形類。3、Applet 動畫類,編制功能較復(fù)雜、效果較好的applet 動畫程序,以下簡稱“動畫”類。4、數(shù)據(jù)處理類,編制考試系統(tǒng)、出題系統(tǒng)、查詢系統(tǒng)、學(xué)生學(xué)籍、課程成績、圖書編目、倉 庫貨物等數(shù)據(jù)錄入查詢程序,以下簡稱“數(shù)據(jù)”類。5、其它類型,自選題目,須經(jīng)老師同意。五、主要技術(shù)關(guān)鍵的分析、解決、方案比較 以下是可以參考的課程設(shè)計可能包含的相關(guān)知識: 1、Java 核心

7、編程 J2EE:面向?qū)ο蠹夹g(shù)Java程序運行機制開發(fā)環(huán)境的安裝和配置Java 語言基礎(chǔ)和重點 APIJava 程序異常的處理I/O 、控制臺程序開發(fā)Struts 程序開發(fā)2、數(shù)據(jù)庫技術(shù): 關(guān)系型數(shù)據(jù)庫原理 SQL 數(shù)據(jù)查詢語言 MS SQL Server 使用方法 數(shù)據(jù)庫中對象的建立與使用 Java 數(shù)據(jù)庫編程 (JDBC)六、課程設(shè)計考核方式 指導(dǎo)教師依課程設(shè)計作業(yè)情況及整個課程設(shè)計中學(xué)生的表現(xiàn),綜合給出成績。 成績分為優(yōu)、良、中、及格、不及格五級。七、主要參考資料1、 Java 語言與面向?qū)ο蟪绦蛟O(shè)計,朱福喜、尹為民、余振坤編著,武漢大學(xué)出版社2、 Java 語言與面向?qū)ο蟪绦蛟O(shè)計,印旻編

8、著,清華大學(xué)出版社3、Java程序設(shè)計實用教程,朱站立、沈偉編著,電子工業(yè)出版社八、心得體會任務(wù) 1:任務(wù) 2:源程序package Kmust.testd;import java.util.Arrays;import java.io.File;import java.util.Scanner;import java.io.PrintWriter;public class Dtest private static final String SPACE = " "public static void main(String args) throws ExceptionStri

9、ng str;File file1 = new File("e:a.txt");Scanner input=new Scanner(file1); str=input.nextLine();str = sortStringNumber(str);System.out.println(str);File file = new File("e:b.txt");PrintWriter output=new PrintWriter(file);output.write(str);output.close();public static String sortSt

10、ringNumber(String str) /1,將字符串中的數(shù)值通過指定的規(guī)則進行切割獲取字符串?dāng)?shù)組。 String str_nums = toStringArray(str);/2,將字符串?dāng)?shù)組轉(zhuǎn)成 int 數(shù)組。int nums = toIntArray(str_nums);/3,對 int 數(shù)組排序 ;sortIntArray(nums);/4,將 int 數(shù)組變成字符串。return arrayToString(nums);private static String arrayToString(int nums) /1,創(chuàng)建字符串緩沖區(qū)。StringBuilder sb = new

11、 StringBuilder();for (int i = 0; i < nums.length; i+) if(i!=nums.length-1)sb.append(numsi+SPACE);elsesb.append(numsi);return sb.toString();private static void sortIntArray(int nums) Arrays.sort(nums);private static int toIntArray(String str_nums) /1, 先定義一個 int 數(shù)組。int arr = new intstr_nums.length;

12、/2,對字符串?dāng)?shù)組進行遍歷。for (int i = 0; i < str_nums.length; i+) /將數(shù)組格式的字符串轉(zhuǎn)成整數(shù)。存儲到arr 數(shù)組中。arri = Integer.parseInt(str_numsi);return arr;private static String toStringArray(String str) return str.split(SPACE);先建一個 txt 文件,輸入無序的幾個數(shù)字,如下;2 a -I r I 回I文祥(D扁輯固格式Q章看世)幫助®87 9 12 14 2 56程序的運行結(jié)果如下;".Prco r

13、;rr): ' 1匚 :L vclE Console 球<terrriinated DtestJava Applation E:Program File<javabirj avw.exe (20159月 6日下缶842心包 2 9 124 56 87得到的txt文件b的顯示結(jié)果如下;廠亀b-記事本g回文件(目瞬(£)指式© 童看M m(H)2 9 12 14 56 87任務(wù)3:源程序;import java.awt.*;import javax.swi ng.*;import java.awt.eve nt.*;public class Calculat

14、orDemo String lastOption;/ 保存運算符號 double a,result, b,c; 保存計算結(jié)果 boolean start;/是否開始輸入數(shù)字 int fh;JTextField text1;/ 顯示文本框/構(gòu)成計算器的按鈕用按鈕數(shù)組來實現(xiàn)JButton btn;JButton btn1;public void go() start=true; lastOption="="JFrame myWindow=new JFrame(" 計算器 ");JPanel p1=new JPanel();JPanel p2=new JPan

15、el();text1=new JTextField(28); btn=new JButton12;btn1=new JButton7;Container cp=myWindow.getContentPane(); /設(shè)置面板的布局方式 GridLayout p1.setLayout(new GridLayout(4,3,8,8);p2.setLayout(new GridLayout(3,3,8,8); cp.add(text1,BorderLayout.NORTH); /構(gòu)成面板 for(int i=0;i<7;i+)btn1i=new JButton(i+"");

16、 /構(gòu)建符號并加入到按鈕中 btn16=new JButton("/");btn15=new JButton("AC");btn14=new JButton("*");btn13=new JButton("C");btn12=new JButton("-");btn11=new JButton("+/-"); btn10=new JButton("+");/采用 for 循環(huán)添加組件cp.add(p1,"West"); / 放置中間容器

17、 p1 cp.add(p2,"East"); / 放置中間容器 p2for(int i=0;i<7;i+)p2.add(btn1i);for(int i=1;i<10;i+)btni=new JButton(i+"");p1.add(btni);btn10=new JButton("0");p1.add(btn10);btn11=new JButton(".");p1.add(btn11);btn10=new JButton("=");p1.add(btn10);/ 采用 for 循

18、環(huán)為組件注冊事件監(jiān)聽器for(int i=1;i<10;i+)btni.addActionListener(new NumHandle();btn10.addActionListener(new OPtionHandle();btn11.addActionListener(new OPtionHandle();for(int j=0;j<7;j+)btn1j.addActionListener(new OPtionHandle();myWindow.pack();myWindow.setVisible(start); myWindow.setDefaultCloseOperatio

19、n(JFrame.EXIT_ON_CLOSE);/創(chuàng)建內(nèi)部類 NumHandle 監(jiān)聽數(shù)字鍵動作class NumHandle implements ActionListenerpublic void actionPerformed(ActionEvent e)String num=e.getActionCommand();/ 得到數(shù)字鍵上的數(shù)字 if(num.equals("0") / 輸出 0 text1.setText(text1.getText()+"0");if(num.equals("1") /輸出 1if(text1.g

20、etText().equals("0") / 判斷文本域中顯示的數(shù)字是否為 0 text1.setText("1");elsetext1.setText(text1.getText()+"1");if(num.equals("2") /輸出 2 if(text1.getText().equals("0") text1.setText("2");else text1.setText(text1.getText()+"2");if(num.equals(&qu

21、ot;3") / 輸出 3 if(text1.getText().equals("0") text1.setText("3");else text1.setText(text1.getText()+"3");if(num.equals("4") /輸出 4 if(text1.getText().equals("0") text1.setText("4");else text1.setText(text1.getText()+"4");if(num

22、.equals("5") /輸出 5 if(text1.getText().equals("0") text1.setText("5");elsetext1.setText(text1.getText()+"5");if(num.equals("6") / 輸出 6 if(text1.getText().equals("0") text1.setText("6");elsetext1.setText(text1.getText()+"6"

23、;);if(num.equals("7") /輸出 7 if(text1.getText().equals("0") text1.setText("7");elsetext1.setText(text1.getText()+"7"); if(num.equals("8") /輸出 8 if(text1.getText().equals("0") text1.setText("8");else text1.setText(text1.getText()+&q

24、uot;8");if(num.equals("9") /輸出 9 if(text1.getText().equals("0") text1.setText("9");elsetext1.setText(text1.getText()+"9");/內(nèi)部類 OPtionHandle 監(jiān)聽符號鍵的動作class OPtionHandle implements ActionListener public void actionPerformed(ActionEvent e) String option=e.get

25、ActionCommand();if(option.equals(".") text1.setText(text1.getText()+".");/*if(option.equals("sin")a=Double.parseDouble(text1.getText();/ 將文本域上的字符串轉(zhuǎn)換為 double 型double b=Math.sin(a/180*Math.PI); / 現(xiàn)將 a 轉(zhuǎn)換為弧度制,再進行運算 text1.setText(String.valueOf(b); /輸出運算結(jié)果if(option.equals(&

26、quot;cos") a=Double.parseDouble(text1.getText(); double b=Math.cos(a/180*Math.PI); text1.setText(String.valueOf(b);if(option.equals("tan") a=Double.parseDouble(text1.getText(); double b=Math.tan(a/180*Math.PI); text1.setText(String.valueOf(b);if(option.equals("log") a=Double

27、.parseDouble(text1.getText(); double b=Math.log(a)/Math.log(10.0); text1.setText(String.valueOf(b);if(option.equals("sqrt") a=Double.parseDouble(text1.getText(); double b=Math.sqrt(a); text1.setText(String.valueOf(b);if(option.equals("pow") / 該運算含有兩個操作數(shù)a=Double.parseDouble(text1.

28、getText();fh=4; /text1.setText(""); /將文本域的內(nèi)容清空if(option.equals("exp") a=Double.parseDouble(text1.getText(); b=a;double b=Math.exp(a); text1.setText(String.valueOf(b);if(option.equals(" 求倒 ") a=Double.parseDouble(text1.getText(); text1.setText(String.valueOf(1/a);*/if(option.equals("+/-")if(!"0".equals(text1.getText()/ 判斷文本域的數(shù)字是否為 0a=Double.parseDouble(text1.getText();a=-a; /求相反數(shù)運算text1.setText(String.valueOf(a);if(option.equals("C")int i=text1.getText().length(); text1.setText(text1.getText

溫馨提示

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

評論

0/150

提交評論