第一篇:昆明理工大学报告封面
课 程 设 计
课程名称:设计题目:学 院:专 业:年 级:学生姓名:指导教师:日 期:
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.xiexiebang.com整理的系列中国大学校徽,旨在为您制作简历时提供方便。
3.“昆明理工大学校徽”的版权归属原设计者、学校所有。