版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计匡呗理N夬聲课程设计任务书信息工程与自动化 学院 物联网工程 专业2013 年级学生姓名:邹华建课程设计题目:JAVA 程序设计课程设计主要内容:把指定目录中的学生照片文件(处理文件可以自选)名更改为学号命 名,并将更名后的文件复制到新的目录中。一、课程设计的目的Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对 象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的 维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力
2、,开设了一周的Java程序设计课程设计。通过此次课程设计,巩固所学 Java语言基本知识,增进Java语言编辑基本功,掌握 JDK、 Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。使学生通过该教学环节与 手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。二、Java课程短学期设计报告要求任务 1:用 java 编写程序实现对文件的操作,实现对文件的读写操作:(1) 对文本中的句子进行分词并将分词结果输出到excel 文件或 txt 中;(2)把指定目录中的学生照片文件(处理
3、文件可以自选)名更改为学号命名,并将更名后的 文件复制到新的目录中。任务2:将输出的数字进行排序通过使用java实现;任务 3:设计一个具有简单功能的计算器;三、课程设计的基本要求1、明确题目要求,进行需求分析;2、进行功能设计,编写设计说明;3、进行程序设计与调试;4、对设计过程进行系统的总结;5、界面美观大方;6、完成设计报告,课程设计报告应包含以下八个内容: 课程设计题目; 功能描述:对系统要实现的功能进行简明扼要的描述。 方案论证: 概要设计:根据功能描述,建立系统的体系结构,即将整个系统分解成若干子功能模块, 并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能。详细设计:详
4、细说明各功能模块的实现过程,所用到的算法、技巧等。 程序说明; 效果及存在问题:说明系统的运行效果(附上运行界面图片) 、存在哪些不足以及预 期解决办法; 结果分析及心得体会:谈谈自己在课程设计过程中的心得体会; 附录:附上各功能模块的主要代码; 参考文献:按参考文献规范列出各种参考文献,包括参考书目,论文和网址等。7、认真努力完成作业。要求独立完成,不抄袭、不雷同( 雷同抄袭者 ,均为 0分) 。按时交作业。8、 课程设计建议在 Editplus +JDK, Eclipse +JDK 平台上开发、调试。9、 Java 源程序应加上详尽的注释语句,对所设计的类、属性、方法说明其用途,对方法的调
5、用 说明其用意和使用参数的原因。特别是有深刻理解、有独特见解的地方,用注释语句加以说 明。10、课程设计作业包括全部软件工程文件和课程设计说明书文件。课程设计说明书打印到规定的 课程设计说明书用纸上,并装订好。说明书格式参考附件。四、课程设计的主要内容利用学到的编程知识和编程技巧,通过具体项目的分析、设计和开发,掌握开发Java 大型软件项目过程中所需要的软件技术并熟悉软件。可以以小组为单位,每组 1 至 3 名学生,在教师的指导下,每组完成一至二个题目。题目可 由下面提供的选题中选择或学生自选经教师审核后方可。该组每个同学承担题目的不同部分,每 位同学的课程设计报告必需独立完成。题目类型大致
6、分配如下:1、网络通讯类,编制网络聊天 (Chat) 程序,以下简称“网络”类。2、图形界面 Application 类,编制类似计算器、 MP3 播放器、围棋打谱,斗地主、潜艇大战、挖地雷、迷宫等功能单一的程序,以下简称“图形类。3、Applet 动画类,编制功能较复杂、效果较好的applet 动画程序,以下简称“动画”类。4、数据处理类,编制考试系统、出题系统、查询系统、学生学籍、课程成绩、图书编目、仓 库货物等数据录入查询程序,以下简称“数据”类。5、其它类型,自选题目,须经老师同意。五、主要技术关键的分析、解决、方案比较 以下是可以参考的课程设计可能包含的相关知识: 1、Java 核心
7、编程 J2EE:面向对象技术Java程序运行机制开发环境的安装和配置Java 语言基础和重点 APIJava 程序异常的处理I/O 、控制台程序开发Struts 程序开发2、数据库技术: 关系型数据库原理 SQL 数据查询语言 MS SQL Server 使用方法 数据库中对象的建立与使用 Java 数据库编程 (JDBC)六、课程设计考核方式 指导教师依课程设计作业情况及整个课程设计中学生的表现,综合给出成绩。 成绩分为优、良、中、及格、不及格五级。七、主要参考资料1、 Java 语言与面向对象程序设计,朱福喜、尹为民、余振坤编著,武汉大学出版社2、 Java 语言与面向对象程序设计,印旻编
8、著,清华大学出版社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 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,将字符串中的数值通过指定的规则进行切割获取字符串数组。 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
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 数组。int arr = new intstr_nums.length;
12、/2,对字符串数组进行遍历。for (int i = 0; i < str_nums.length; i+) /将数组格式的字符串转成整数。存储到arr 数组中。arri = Integer.parseInt(str_numsi);return arr;private static String toStringArray(String str) return str.split(SPACE);先建一个 txt 文件,输入无序的几个数字,如下;2 a -I r I 回I文祥(D扁辑固格式Q章看世)帮助®87 9 12 14 2 56程序的运行结果如下;".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的显示结果如下;厂亀b-记事本g回文件(目瞬(£)指式© 童看M m(H)2 9 12 14 56 87任务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; 保存计算结果 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 JPan
15、el();text1=new JTextField(28); btn=new JButton12;btn1=new JButton7;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+)btn1i=new JButton(i+"");
16、 /构建符号并加入到按钮中 btn16=new JButton("/");btn15=new JButton("AC");btn14=new JButton("*");btn13=new JButton("C");btn12=new JButton("-");btn11=new JButton("+/-"); btn10=new JButton("+");/采用 for 循环添加组件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、环为组件注册事件监听器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);/创建内部类 NumHandle 监听数字键动作class NumHandle implements ActionListenerpublic void actionPerformed(ActionEvent e)String num=e.getActionCommand();/ 得到数字键上的数字 if(num.equals("0") / 输出 0 text1.setText(text1.getText()+"0");if(num.equals("1") /输出 1if(text1.g
20、etText().equals("0") / 判断文本域中显示的数字是否为 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");/内部类 OPtionHandle 监听符号键的动作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();/ 将文本域上的字符串转换为 double 型double b=Math.sin(a/180*Math.PI); / 现将 a 转换为弧度制,再进行运算 text1.setText(String.valueOf(b); /输出运算结果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") / 该运算含有两个操作数a=Double.parseDouble(text1.
28、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()/ 判断文本域的数字是否为 0a=Double.parseDouble(text1.getText();a=-a; /求相反数运算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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理-安全警示标志管理制度
- 吉林省长春市九台市市级名校2026年初三下学期二调考试数学试题含解析
- 浙江省玉环市达标名校2026年初三生物试题下学期第四次质量检测试题含解析
- 陕西省山阳县2026届初三5月小二调考物理试题含解析
- 江苏省无锡市和桥区、张渚区达标名校2026年初三下第三次阶段过关物理试题试卷含解析
- 江苏省常州市七校联考2026年初三下-第一次强化训练数学试题试卷含解析
- 甘肃泾川县2025-2026学年初三联合调研考试(物理试题文)试题含解析
- 山东省济宁市梁山县街道第一中学2026年中考数学试题3月月考模拟试题含解析
- 医美护理中的客户教育
- 肠瘘并发症预防护理策略
- 2026年《必背60题》通信工程专业26届考研复试高频面试题包含详细解答
- 2026年生活会上“红脸出汗”的相互批评意见(六大类60条)
- 2026年鄂尔多斯职业学院单招职业倾向性测试题库附答案解析
- 2025-2026学年苏科版八年级下册数学 第十章 分式 单元巩固测试卷(含答案)
- 古诗词诵读《涉江采芙蓉》教学课件统编版高中语文必修上册
- 财务的兼职合同范本
- 2025年智慧医院建设项目可行性研究报告
- 解除土地租赁合同协议书
- 机场防鸟撞培训大纲
- 小学桥梁知识科普
- 2025年劳动关系协调员(高级)劳动保障政策法规与案例分析考试试卷(附答案)
评论
0/150
提交评论