- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA程序设计报告 集合运算费下载
JAVA程序设计报告-——集合的运算(交并差)
学生:
学号:
专业:信息工程(系统工程方向)
院系:信息与控制学院
实习时间:三周;
指导老师:陈金辉
目录
实验目的--------------------------------------------------
试验设计--------------------------------------------------
实验源程序-----------------------------------------------
程序设计调试---------------------------------------------
不足及改进------------------------------------------------
如何美观--------------------------------------------------
程序设计目的
本次课程设计报告主要是老师对学生综合编程能力的一次评测,在掌握c,java语言的基础上,学会自主的编制一些基本的程序。本次的实验课题是对集合的运算进行实验。在java平台上开发出集合运算的程序。
第二章 程序设计思路
一:集合的运算,我们要求的是集合的交并差。首先了解集合的交并差是如何让运算的。掌握运算的思路才能把程序设计思路调试出来。
1:集合的交 对于给定的两个集合,要求出给定的两个集合的交集,交集和就是将其中都相同的元素找出来,将之放入第三个集合里,输出第三集合里的元素。如A={1,2,3,4};B={2,4,5,6}; C=A∩B; C={2,4};需要中间变量C需要定义新的数组,int C[]=new int[20];
2:集合的差 对于给定的两个集合,集合的差就是找出A集合中不同于B集合里面的元素,并将之存入第三集合C中,同样也需要引入第三集合,但是寻找A集合中不同于集合B中的方法不是很容易想到。需要先定义一个标记,从标记入手,依次寻找。将在下一章中重点介绍。A={1,2,3,4};B={2,4,5,6};A-B={1,3};
3:集合的并 对于给定的两个集合,集合的并就是将A集合与B集合中的所有的元素都找一遍,相同的元素的只将其赋一次值于第三集合里。主要思想是在集合差的基础上,再做一次赋值运算就可以了,由于集合差的运算中,已经找到了A中异于B中的元素,然后再将B中的元素再赋值于第三集合C就可以了。A={1,2,3,4};B={2,4,5,6};A-B={1,3};A∪B={1,2,3,4,5,6};
二:主要思想:以数组的形式来代替集合,通过数组的运算来进行集合的运算。首先定义数组,再在数组中进行定义一个类,再定义成员变量,构造成员方法,成员方法是对数组也就是集合来进行操作的一种手段。由于是直接赋值了,我们找不到类。我们需要先进行定义一个类NewMain A=new NewMain();A.Aarray=c; A.Barray=d;通过地址调用来完成对数组的调用以及修改,因为我们不仅需要对整形数组进行交并差的运算,还要对实型数组,字符型数组进行运算。为了美化和方便程序,为了能实现一个友好的人机界面,就必须以多种方法的形式出现在你的java程序中。之前,我也试过了将多个函数模块写在主方法中,发现了如下问题:
在主方法中要用来存储第A,B中相异的元素的第三集合需要定义很多,和比较的中间变量也比较多。使程序看起来一是冗杂,而是出现问题很多,很难进行调试。
难以实现用户的自主性,因为在同一个主方法中,所有的函数都是按照顺序从上往下执行的不能选择性的跳过。这就增加函数的选择的难度。
所以想到用多方法定义集合运算,在个定义了一个抽象的数据类型后,还需为这个类型的对象定义相应的操作。分别是整形的,实型的,字符型的交并差的方法。public static void intjihe();public void charjihe(char Aarray[],char Barray[])等等。其中三种集合的操作都是一样的。只是在形式上以及操作类型上出现一些细微的差别。但是算法本质上没有很大的差别。
初始时想通过找到A,B集合中的A异于B的元素于是编出java函数代码。for(i=0;iAarray.length;i++)
for(j=0;jBarray.length;j++)
if(Aarray[i]!=Barray[j])
Carray.[k++]=Aarray[i];
结果发现这段函数根本实现不了其所期望的功能,根本原因在于他
您可能关注的文档
- AD楼外墙保温腻子施工方案.doc
- A音响工程施工方案.doc
- -快递物流行业服务质量管理制度.doc
- a一级建造师考试建设工程经济真题及答案详细解析.doc
- C++课程设计报告公司人员信息管理系统实现.doc
- CRTS I型双块式无砟轨道底座施工方案.doc
- cow_投资XX大酒店可行性分析报告.doc
- c语言程序课程设计报告学生籍贯信息记录簿设计.doc
- C语言课程设计报告——贪吃蛇源程序..doc
- c语言课程设计设计报告模拟电子时钟.doc
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)