第一篇:昆明理工大學報告封面
課 程 設 計
課程名稱:設計題目:學 院:專 業:年 級:學生姓名:指導教師:日 期:
java程序設計
模型計算機的設計
信息工程與自動化學院
物聯網工程
2013級
鄒華建(學號201310410120)
毛存禮
2015.8.25 至 2015.9.4
教 務 處 制
課 程 設 計 任 務 書
信息工程與自動化 學院 物聯網工程 專業 2013 年級
學生姓名: 鄒華建
課程設計題目: JAVA程序設計
課程設計主要內容:
把指定目錄中的學生照片文件(處理文件可以自選)名更改為學號命名,并將更名后的文件復制到新的目錄中。
設 計 指 導 教 師(簽字):
教學基層組織負責人(簽字):
2015年7月6日
一、課程設計的目的
Java語言是當今流行的網絡編程語言,它具有面向對象、跨平臺、分布應用等特點。面向對象的開發方法是當今世界最流行的開發方法,它不僅具有更貼近自然的語義,而且有利于軟件的維護和繼承。
為了進一步鞏固課堂上所學到的知識,深刻把握Java語言的重要概念及其面向對象的特性,鍛煉學生熟練的應用面向對象的思想和設計方法解決實際問題的能力,開設了一周的Java程序設計課程設計。
通過此次課程設計,鞏固所學Java語言基本知識,增進Java語言編輯基本功,掌握JDK、Editplus、Eclipse、JCreator等開發工具的運用,拓寬常用類庫的應用。使學生通過該教學環節與手段,把所學課程及相關知識加以融會貫通,全面掌握Java語言的編程思想及面向對象程序設計的方法,為今后從事實際工作打下堅實的基礎。
二、Java課程短學期設計報告要求
任務1:用java編寫程序實現對文件的操作,實現對文件的讀寫操作:(1)對文本中的句子進行分詞并將分詞結果輸出到excel文件或txt中;
(2)把指定目錄中的學生照片文件(處理文件可以自選)名更改為學號命名,并將更名后的文件復制到新的目錄中。
任務2:將輸出的數字進行排序通過使用java實現;
任務3:設計一個具有簡單功能的計算器;
三、課程設計的基本要求
1、明確題目要求,進行需求分析;
2、進行功能設計,編寫設計說明;
3、進行程序設計與調試;
4、對設計過程進行系統的總結;
5、界面美觀大方;
6、完成設計報告,課程設計報告應包含以下八個內容:
⑴ 課程設計題目;
⑵ 功能描述:對系統要實現的功能進行簡明扼要的描述。
⑶ 方案論證:
概要設計:根據功能描述,建立系統的體系結構,即將整個系統分解成若干子功能模塊,并用框圖表示各功能模塊之間的銜接關系,并簡要說明各模塊的功能。
詳細設計:詳細說明各功能模塊的實現過程,所用到的算法、技巧等。
⑷ 程序說明;
⑸ 效果及存在問題:說明系統的運行效果(附上運行界面圖片)、存在哪些不足以及預期解決辦法;
⑹ 結果分析及心得體會:談談自己在課程設計過程中的心得體會;
⑺ 附錄:附上各功能模塊的主要代碼;
⑻ 參考文獻:按參考文獻規范列出各種參考文獻,包括參考書目,論文和網址等。
7、認真努力完成作業。要求獨立完成,不抄襲、不雷同(雷同抄襲者,均為0分)。按時交作業。
8、課程設計建議在Editplus +JDK,Eclipse +JDK平臺上開發、調試。
9、Java源程序應加上詳盡的注釋語句,對所設計的類、屬性、方法說明其用途,對方法的調用說明其用意和使用參數的原因。特別是有深刻理解、有獨特見解的地方,用注釋語句加以說明。
10、課程設計作業包括全部軟件工程文件和課程設計說明書文件。課程設計說明書打印到規定的課程設計說明書用紙上,并裝訂好。說明書格式參考附件。
四、課程設計的主要內容
利用學到的編程知識和編程技巧,通過具體項目的分析、設計和開發,掌握開發Java大型軟件項目過程中所需要的軟件技術并熟悉軟件。
可以以小組為單位,每組1至3名學生,在教師的指導下,每組完成一至二個題目。題目可由下面提供的選題中選擇或學生自選經教師審核后方可。該組每個同學承擔題目的不同部分,每位同學的課程設計報告必需獨立完成。
題目類型大致分配如下:
1、網絡通訊類,編制網絡聊天(Chat)程序,以下簡稱“網絡”類。
2、圖形界面Application類,編制類似計算器、MP3播放器、圍棋打譜,斗地主、潛艇大戰、挖地雷、迷宮等功能單一的程序,以下簡稱“圖形 ”類。
3、Applet動畫類,編制功能較復雜、效果較好的applet動畫程序,以下簡稱“動畫”類。
4、數據處理類,編制考試系統、出題系統、查詢系統、學生學籍、課程成績、圖書編目、倉庫貨物等數據錄入查詢程序,以下簡稱“數據”類。
5、其它類型,自選題目,須經老師同意。
五、主要技術關鍵的分析、解決、方案比較
以下是可以參考的課程設計可能包含的相關知識:
1、Java核心編程J2EE:
面向對象技術
Java程序運行機制
開發環境的安裝和配置
Java語言基礎和重點API Java程序異常的處理
I/O、控制臺程序開發
Struts程序開發
2、數據庫技術:
關系型數據庫原理
SQL數據查詢語言
MS SQL Server使用方法
數據庫中對象的建立與使用
Java數據庫編程(JDBC)
六、課程設計考核方式
指導教師依課程設計作業情況及整個課程設計中學生的表現,綜合給出成績。
成績分為優、良、中、及格、不及格五級。
七、主要參考資料
1、《Java語言與面向對象程序設計》,朱福喜、尹為民、余振坤編著,武漢大學出版社
2、《Java語言與面向對象程序設計》,印旻編著,清華大學出版社
3、《Java程序設計實用教程》,朱站立、沈偉編著,電子工業出版社
八、心得體會
任務1:
任務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 Exception{ String 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 sortStringNumber(String str){ //1,將字符串中的數值通過指定的規則進行切割獲取字符串數組。
String[] str_nums = toStringArray(str);//2,將字符串數組轉成int數組。
int[] nums = toIntArray(str_nums);//3,對int數組排序;sortIntArray(nums);//4,將int數組變成字符串。
return arrayToString(nums);} private static String arrayToString(int[] nums){ //1,創建字符串緩沖區。
StringBuilder sb = new StringBuilder();for(int i = 0;i < nums.length;i++){ if(i!=nums.length-1)sb.append(nums[i]+SPACE);else sb.append(nums[i]);} return sb.toString();} private static void sortIntArray(int[] nums){
Arrays.sort(nums);}
private static int[] toIntArray(String[] str_nums){ //1,先定義一個int數組。
int[] arr = new int[str_nums.length];//2,對字符串數組進行遍歷。
for(int i = 0;i < str_nums.length;i++){ //將數組格式的字符串轉成整數。存儲到arr數組中。
arr[i] = Integer.parseInt(str_nums[i]);} return arr;} private static String[] toStringArray(String str){ return str.split(SPACE);}
} 先建一個txt文件,輸入無序的幾個數字,如下;
程序的運行結果如下;
得到的txt文件b的顯示結果如下;
任務3:
源程序;
import java.awt.*;import javax.swing.*;import java.awt.event.*;public class CalculatorDemo {
String lastOption;//保存運算符號
double a,result, b,c;//保存計算結果
boolean start;//是否開始輸入數字
int fh;
JTextField text1;//顯示文本框
//構成計算器的按鈕用按鈕數組來實現
JButton[] btn;
JButton[] btn1;
public void go(){
start=true;
lastOption=“=”;
JFrame myWindow=new JFrame(“計算器”);
JPanel p1=new JPanel();
JPanel p2=new JPanel();
text1=new JTextField(28);
btn=new JButton[12];
btn1=new JButton[7];
Container cp=myWindow.getContentPane();
//設置面板的布局方式GridLayout
p1.setLayout(new GridLayout(4,3,8,8));
p2.setLayout(new GridLayout(3,3,8,8));
cp.add(text1,BorderLayout.NORTH);
//構成面板
for(int i=0;i<7;i++){
btn1[i]=new JButton(i+“");
}
//構建符號并加入到按鈕中
btn1[6]=new JButton(”/“);
btn1[5]=new JButton(”AC“);
btn1[4]=new JButton(”*“);
btn1[3]=new JButton(”C“);
btn1[2]=new JButton(”-“);
btn1[1]=new JButton(”+/-“);
btn1[0]=new JButton(”+“);
//采用for循環添加組件
cp.add(p1,”West“);//放置中間容器p1
cp.add(p2,”East“);////放置中間容器p2
for(int i=0;i<7;i++){
p2.add(btn1[i]);
}
for(int i=1;i<10;i++){
btn[i]=new JButton(i+”“);
p1.add(btn[i]);
}
btn[10]=new JButton(”0“);
p1.add(btn[10]);
btn[11]=new JButton(”.“);
p1.add(btn[11]);
btn[10]=new JButton(”=“);
p1.add(btn[10]);
//采用for 循環為組件注冊事件監聽器
for(int i=1;i<10;i++){
btn[i].addActionListener(new NumHandle());
}
btn[10].addActionListener(new OPtionHandle());
btn[11].addActionListener(new OPtionHandle());
for(int j=0;j<7;j++){
btn1[j].addActionListener(new OPtionHandle());
}
myWindow.pack();
myWindow.setVisible(start);
myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//創建內部類NumHandle監聽數字鍵動作
class NumHandle implements ActionListener{
public void actionPerformed(ActionEvent e){
String num=e.getActionCommand();//得到數字鍵上的數字
if(num.equals(”0“)){ //輸出0
text1.setText(text1.getText()+”0“);
}
if(num.equals(”1“)){ //輸出1
if(text1.getText().equals(”0“))//判斷文本域中顯示的數字是否為0
text1.setText(”1“);
else
text1.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(”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.equals(”5“)){ //輸出5
if(text1.getText().equals(”0“))
text1.setText(”5“);
else
text1.setText(text1.getText()+”5“);
}
if(num.equals(”6“)){ //輸出6
if(text1.getText().equals(”0“))
text1.setText(”6“);
else
text1.setText(text1.getText()+”6“);
}
if(num.equals(”7“)){ //輸出7
if(text1.getText().equals(”0“))
text1.setText(”7“);
else
text1.setText(text1.getText()+”7“);
}
if(num.equals(”8“)){ //輸出8
if(text1.getText().equals(”0“))
text1.setText(”8“);
else
text1.setText(text1.getText()+”8“);
}
if(num.equals(”9“)){ //輸出9
if(text1.getText().equals(”0“))
text1.setText(”9“);
else
text1.setText(text1.getText()+”9“);
}
}
}
//內部類OPtionHandle監聽符號鍵的動作
class OPtionHandle implements ActionListener{
public void actionPerformed(ActionEvent e){
String option=e.getActionCommand();
if(option.equals(”.“)){
text1.setText(text1.getText()+”.“);
}
/*if(option.equals(”sin“)){
a=Double.parseDouble(text1.getText());//將文本域上的字符串轉換為double型
double b=Math.sin(a/180*Math.PI);//現將a轉換為弧度制,再進行運算
text1.setText(String.valueOf(b));//輸出運算結果
}
if(option.equals(”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.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“)){ //該運算含有兩個操作數
a=Double.parseDouble(text1.getText());
fh=4;//
text1.setText(”“);//將文本域的內容清空
}
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())){ //判斷文本域的數字是否為0
a=Double.parseDouble(text1.getText());
a=-a;//求相反數運算
text1.setText(String.valueOf(a));
}
}
if(option.equals(”C“)){
int i=text1.getText().length();
text1.setText(text1.getText().substring(0,i-1));
}
if(option.equals(”AC“)){
text1.setText(”“);//清空文本域中的內容
}
if(option.equals(”+“)){
a=Double.parseDouble(text1.getText());
fh=0;
text1.setText(”“);
}
if(option.equals(”-“)){
a=Double.parseDouble(text1.getText());
fh=1;
text1.setText(”“);
}
if(option.equals(”*“)){
a=Double.parseDouble(text1.getText());
fh=2;
text1.setText(”“);
}
if(option.equals(”/“)){
a=Double.parseDouble(text1.getText());
fh=3;
text1.setText(”“);
}
//有兩個操作的運算
if(option.equals(”=")){
double c=Double.parseDouble(text1.getText());
switch(fh){
case 0: //執行加法運算
result=a+c;
break;
case 1: //執行減法運算
result=a-c;
break;
case 2: //執行乘法運算
result=a*c;
break;
case 3: //執行除法運算
result=a/c;
break;
case 4: //執行a的b次冪運算
result=Math.pow(a, c);
break;
}
text1.setText(String.valueOf(result));//將運算結果轉換為字符串形式輸出
}
}
}
public static void main(String[] args){
CalculatorDemo window=new CalculatorDemo();
window.go();
// TODO code application logic here
}
} 程序運行結果如下:
第二篇:昆明理工大學論文封面
《暖通空調》課程設計
說明書
學院:
建筑工程學院
專業:
建筑環境與設備工程 班級:
031班
學生姓名:
李金林(031013025)指導教師:
余麗霞
第三篇:昆明理工大學論文格式
××××××××××××(文章標題用黑體小二號字居中)
×××(姓名,用小四號仿宋GB-2312體居中,上下行距為0.5行)
(昆明理工大學設計藝術學專業,云南 昆明 650093)(用五號宋體居中,上下行距為0.5行)摘要:××××××(摘要兩個字用5號黑體,然后用冒號,摘要內容用楷體GB2312體,左右縮進2字符)
關鍵詞:×××(關鍵詞一般選擇3到5個,格式要求同摘要一樣)
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××(段落首行縮進2字符,正文均用五號宋體)×××××××(一級標題四號黑體)或用:
一、×××××××(一級標題四號黑體)
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××(段落首行縮進2字符,正文均用五號宋體)
1.1 ×××(二級標題用小四號黑體,上下行距為0.5行)或用:
(一)×××(縮進2字符,二級標題用小四號黑體,上下行距為0.5行)
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××(段落首行縮進2字符,正文均用五號宋體)1.1.1 ×××(三級標題用五號黑體,上下行距為0.5行)或用:
1、×××(縮進2字符,三級標題用五號黑體,上下行距為0.5行)×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××(段落首行縮進2字符,正文均用五號宋體)1.1.1.1 ×××(四級標題用五號黑體,上下行距為0.5行)或用:
(1)×××(縮進2字符,四級標題用五號黑體,上下行距為0.5行)×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××(段落首行縮進2字符,正文均用五號宋體)
參考文獻:(用五號黑體,上下行距為0.5行)
[1] ××××××××××××(宋體,小五號)[2] ××××××××××××(宋體,小五號)……
[序號] 作者名.書名[分類號].出版地:出版社,出版時間,引用頁碼 [序號] 作者名.文章名[分類號].雜志名,出版時間,期號,引用頁碼 其它說明:A4幅面,頁邊距上下左右各2.2厘米,全文均用單倍行距。插圖一般安排在文章的右邊,較大的插圖可居中布置,插圖下的文字說明用宋體小五號字,與圖相對居中安排,如“圖1 ××××”
第四篇:昆明理工大學論文格式
課程報告題目
姓名:*** 班級:工程管理2006級**班 學號:2006110081*** 聯系方式: Email或電話
摘要:摘要內容(200字左右),直奔主題。目的——研究、研制、調查等的前提、目的和任務,所涉及的主題范圍。方法——所用的原理、理論、條件、對象、材料、工藝、結構、手段、裝備、程序等。結果——實驗的、研究的結果、數據,被確定的關系,觀察結果,得到的效果、性能等。結論——結果的分析、研究、比較、評價、應用,提出的問題等。關鍵詞:瀝青碎石路面;斜拉橋;交叉口;定線技術(3—6個關鍵詞)
1.一級標題
第1節內容.................................................... ..................................................................... ............................................................
1.1 二級標題
第1.1節內容.................................................... ..................................................................... ............................................................
1.1.1 三級標題
第1.1.1節內容.................................................... ..................................................................... ............................................................
1.1.2 三級標題
第1.1.2節內容.................................................... ..................................................................... ............................................................
1.2 二級標題
第1.2節內容....................................................
234-
第五篇:昆明理工大學校徽
說明:1.本校徽已按比例縮放,請點擊圖片在新窗口中查看清晰原圖。
2.www.tmdps.cn整理的系列中國大學校徽,旨在為您制作簡歷時提供方便。
3.“昆明理工大學校徽”的版權歸屬原設計者、學校所有。