JAVA程序设计.doc_第1页
JAVA程序设计.doc_第2页
JAVA程序设计.doc_第3页
JAVA程序设计.doc_第4页
JAVA程序设计.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA程序设计课程设计报告题目 Java实现集合运算班级 09 系统工程一班姓名 学号指导老师完成时间 2011年5月12日目录1问题描述2算法设计3源代码4测试分析5小结6参考文献题目: 用Java编写一个程序,该程序可以实现集合的输入输出以及集合的运算目的及要求: 检验理论课学习的效果以及综合运用得能力。训练学生进行复杂程序计算的技能和培养良好的程序设计习惯。1、问题的描述要求实现以下的功能1、集合的输入,可以是任意的类型 2、计算并输出给定集合的交集,并集和差集3、求两个字符串数组的并集,利用set的元素唯一性 4、求两个数组的交集 5、求两个数组的差集6、找出较长的数组来减较短的数组2、算法设计定义类创建成员输入数据判断关系输出结果 3源代码package string; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class StringArray public static void main(String args) /测试union String arr1 = hbhc, bhuyg, nyhv,abc; String arr2 = jgfc, mhjg, hbhc, d, abc; String result_union = union(arr1, arr2); System.out.println(求并集的结果如下:); for (String str : result_union) System.out.println(str); System.out.println(-分割线-); /测试insect String result_insect = intersect(arr1, arr2); System.out.println(求交集的结果如下:); for (String str : result_insect) System.out.println(str); System.out.println(-分割线-); /测试minus String result_minus = minus(arr1, arr2); System.out.println(求差集的结果如下:); for (String str : result_minus) System.out.println(str); /求两个字符串数组的并集,利用set的元素唯一性 public static String union(String arr1, String arr2) Set set = new HashSet(); for (String str : arr1) set.add(str); for (String str : arr2) set.add(str); String result = ; return set.toArray(result); /求两个数组的交集 public static String intersect(String arr1, String arr2) Map map = new HashMap(); LinkedList list = new LinkedList(); for (String str : arr1) if (!map.containsKey(str) map.put(str, Boolean.FALSE); for (String str : arr2) if (map.containsKey(str) map.put(str, Boolean.TRUE); for (Entry e : map.entrySet() if (e.getValue().equals(Boolean.TRUE) list.add(e.getKey(); String result = ; return list.toArray(result); /求两个数组的差集 public static String minus(String arr1, String arr2) LinkedList list = new LinkedList(); LinkedList history = new LinkedList(); String longerArr = arr1; String shorterArr = arr2; /找出较长的数组来减较短的数组 if (arr1.length arr2.length) longerArr = arr2; shorterArr = arr1; for (String str : longerArr) if (!list.contains(str) list.add(str); for (String str : shorterArr) if (list.contains(str) history.add(str); list.remove(str); else if (!history.contains(str) list.add(str); String result = ; return list.toArray(result); 4测试分析小结通过此次课程设计,我们学会了许多关于JAVA系统开发的知识。对系统开发,从选题到结题经历一遍,有了充分的感性认识。这对于我们以后从事相关工作,有很大的好处。在课程设计中,我们遇到了很多的问题,很多的挫折,但是我们没有退缩,最终在规定期限内完成了设计,这本身就是对我们自身能力的一种肯定,一种承认。有了这次经历,我想我们以后遇到类似的问题,也能很好的处置,度过难关,完成既定的目标。在设计过程中,我们发现原来理论和实际有着很大的差别。我们在课堂上学到的东西,距离实际应用还有一定的距离,譬如JAVA设计的相关理论,我们学得很好,却在实际操作中遇到了很大问题,而找不到其中原因。这种种,都坚定的告诉我们,我们要学以致用,我们的知识不是用来忘记的,而是要用到实际生活中的。有了这种思想,我想我们在以后的学习中会更加注重理论于实际的联系,使我们所学的知识能够尽可能的用到实处,而不仅仅是为了应付考试。同时,在设计过程中,我们充分的利用了网络资源,在网络上搜索我们需要的各种信息。这使我们意识到,原来我们每个人面前都有一个大宝库,只是有些人没有注意到罢了。六、参考文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论