昆明理工大学报告封面.docx
- 文档编号:7592421
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:16
- 大小:124.98KB
昆明理工大学报告封面.docx
《昆明理工大学报告封面.docx》由会员分享,可在线阅读,更多相关《昆明理工大学报告封面.docx(16页珍藏版)》请在冰豆网上搜索。
昆明理工大学报告封面
课程设计
课程名称:
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数据查询语言
MSSQLServer使用方法
数据库中对象的建立与使用
Java数据库编程(JDBC)
六、课程设计考核方式
指导教师依课程设计作业情况及整个课程设计中学生的表现,综合给出成绩。
成绩分为优、良、中、及格、不及格五级。
七、主要参考资料
1、《Java语言与面向对象程序设计》,朱福喜、尹为民、余振坤编著,武汉大学出版社
2、《Java语言与面向对象程序设计》,印旻编著,清华大学出版社
3、《Java程序设计实用教程》,朱站立、沈伟编著,电子工业出版社
八、心得体会
任务1:
任务2:
源程序
packageKmust.testd;
importjava.util.Arrays;
importjava.io.File;
importjava.util.Scanner;
importjava.io.PrintWriter;
publicclassDtest{
privatestaticfinalStringSPACE="";
publicstaticvoidmain(String[]args)throwsException{
Stringstr;
Filefile1=newFile("e:
\\a.txt");
Scannerinput=newScanner(file1);
str=input.nextLine();
str=sortStringNumber(str);
System.out.println(str);
Filefile=newFile("e:
\\b.txt");
PrintWriteroutput=newPrintWriter(file);
output.write(str);
output.close();
}
publicstaticStringsortStringNumber(Stringstr){
//1,将字符串中的数值通过指定的规则进行切割获取字符串数组。
String[]str_nums=toStringArray(str);
//2,将字符串数组转成int数组。
int[]nums=toIntArray(str_nums);
//3,对int数组排序;
sortIntArray(nums);
//4,将int数组变成字符串。
returnarrayToString(nums);
}
privatestaticStringarrayToString(int[]nums){
//1,创建字符串缓冲区。
StringBuildersb=newStringBuilder();
for(inti=0;i if(i! =nums.length-1) sb.append(nums[i]+SPACE); else sb.append(nums[i]); } returnsb.toString(); } privatestaticvoidsortIntArray(int[]nums){ Arrays.sort(nums); } privatestaticint[]toIntArray(String[]str_nums){ //1,先定义一个int数组。 int[]arr=newint[str_nums.length]; //2,对字符串数组进行遍历。 for(inti=0;i //将数组格式的字符串转成整数。 存储到arr数组中。 arr[i]=Integer.parseInt(str_nums[i]); } returnarr; } privatestaticString[]toStringArray(Stringstr){ returnstr.split(SPACE); } } 先建一个txt文件,输入无序的几个数字,如下; 程序的运行结果如下; 得到的txt文件b的显示结果如下; 任务3: 源程序; importjava.awt.*; importjavax.swing.*; importjava.awt.event.*; publicclassCalculatorDemo{ StringlastOption;//保存运算符号 doublea,result,b,c;//保存计算结果 booleanstart;//是否开始输入数字 intfh; JTextFieldtext1;//显示文本框 //构成计算器的按钮用按钮数组来实现 JButton[]btn; JButton[]btn1; publicvoidgo(){ start=true; lastOption="="; JFramemyWindow=newJFrame("计算器"); JPanelp1=newJPanel(); JPanelp2=newJPanel(); text1=newJTextField(28); btn=newJButton[12]; btn1=newJButton[7]; Containercp=myWindow.getContentPane(); //设置面板的布局方式GridLayout p1.setLayout(newGridLayout(4,3,8,8)); p2.setLayout(newGridLayout(3,3,8,8)); cp.add(text1,BorderLayout.NORTH); //构成面板 for(inti=0;i<7;i++){ btn1[i]=newJButton(i+""); } //构建符号并加入到按钮中 btn1[6]=newJButton("/"); btn1[5]=newJButton("AC"); btn1[4]=newJButton("*"); btn1[3]=newJButton("C"); btn1[2]=newJButton("-"); btn1[1]=newJButton("+/-"); btn1[0]=newJButton("+"); //采用for循环添加组件 cp.add(p1,"West");//放置中间容器p1 cp.add(p2,"East");////放置中间容器p2 for(inti=0;i<7;i++){ p2.add(btn1[i]); } for(inti=1;i<10;i++){ btn[i]=newJButton(i+""); p1.add(btn[i]); } btn[10]=newJButton("0"); p1.add(btn[10]); btn[11]=newJButton("."); p1.add(btn[11]); btn[10]=newJButton("="); p1.add(btn[10]); //采用for循环为组件注册事件监听器 for(inti=1;i<10;i++){ btn[i].addActionListener(newNumHandle()); } btn[10].addActionListener(newOPtionHandle()); btn[11].addActionListener(newOPtionHandle()); for(intj=0;j<7;j++){ btn1[j].addActionListener(newOPtionHandle()); } myWindow.pack(); myWindow.setVisible(start); myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } //创建内部类NumHandle监听数字键动作 classNumHandleimplementsActionListener{ publicvoidactionPerformed(ActionEvente){ Stringnum=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监听符号键的动作 classOPtionHandleimplementsActionListener{ publicvoidactionPerformed(ActionEvente){ Stringoption=e.getActionCommand(); if(option.equals(".")){ text1.setText(text1.getText()+"."); } /*if(option.equals("sin")){ a=Double.parseDouble(text1.getText());//将文本域上的字符串转换为double型 doubleb=Math.sin(a/180*Math.PI);//现将a转换为弧度制,再进行运算 text1.setText(String.valueOf(b));//输出运算结果 } if(option.equals("cos")){ a=Double.parseDouble(text1.getText()); doubleb=Math.cos(a/180*Math.PI); text1.setText(String.valueOf(b)); } if(option.equals("tan")){ a=Double.parseDouble(text1.getText()); doubleb=Math.tan(a/180*Math.PI); text1.setText(String.valueOf(b)); } if(option.equals("log")){ a=Double.parseDouble(text1.getText()); doubleb=Math.log(a)/Math.log(10.0); text1.setText(String.valueOf(b)); } if(option.equals("sqrt")){ a=Double.parseDouble(text1.getText()); doubleb=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; doubleb=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")){ inti=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("=")){ doublec=Double.parseDouble(text1.getText()); switch(fh){ case0: //执行加法运算 result=a+c; break; case1: //执行减法运算 result=a-c; break; case2: //执行乘法运算 result=a*c; break; case3: //执行除法运算 result=a/c; break; case4: //执行a的b次幂运算 result=Math.pow(a,c); break; } text1.setText(String.valueOf(result));//将运算结果转换为字符串形式输出 } } } publicstaticvoidmain(String[]args){ CalculatorDemowindow=newCalculatorDemo(); window.go(); //TODOcodeapplicationlogichere } } 程序运行结果如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 昆明 理工大学 报告 封面