JAVA程序设计报告+集合运算

JAVA程序设计报告集合的运算(交并差)学生学号专业信息工程(系统工程方向)院系信息与控制学院实习时间三周;指导老师陈金辉目录实验目的试验设计实验源程序程序设计调试不足及改进如何美观第一章程序设计目的本次课程设计报告主要是老师对学生综合编程能力的一次评测,在掌握C,JAVA语言的基础上,学会自主的编制一些基本的程序。本次的实验课题是对集合的运算进行实验。在JAVA平台上开发出集合运算的程序。第二章程序设计思路一集合的运算,我们要求的是集合的交并差。首先了解集合的交并差是如何让运算的。掌握运算的思路才能把程序设计思路调试出来。1集合的交对于给定的两个集合,要求出给定的两个集合的交集,交集和就是将其中都相同的元素找出来,将之放入第三个集合里,输出第三集合里的元素。如A1,2,3,4;B2,4,5,6;CAB;C2,4;需要中间变量C需要定义新的数组,INTCNEWINT202集合的差对于给定的两个集合,集合的差就是找出A集合中不同于B集合里面的元素,并将之存入第三集合C中,同样也需要引入第三集合,但是寻找A集合中不同于集合B中的方法不是很容易想到。需要先定义一个标记,从标记入手,依次寻找。将在下一章中重点介绍。A1,2,3,4;B2,4,5,6;,;3集合的并对于给定的两个集合,集合的并就是将A集合与B集合中的所有的元素都找一遍,相同的元素的只将其赋一次值于第三集合里。主要思想是在集合差的基础上,再做一次赋值运算就可以了,由于集合差的运算中,已经找到了中异于中的元素,然后再将中的元素再赋值于第三集合就可以了。A1,2,3,4;B2,4,5,6;,;,,,,,;二主要思想以数组的形式来代替集合,通过数组的运算来进行集合的运算。首先定义数组,再在数组中进行定义一个类,再定义成员变量,构造成员方法,成员方法是对数组也就是集合来进行操作的一种手段。由于是直接赋值了,我们找不到类。我们需要先进行定义一个类NEWMAINANEWNEWMAINAAARRAYCABARRAYD通过地址调用来完成对数组的调用以及修改,因为我们不仅需要对整形数组进行交并差的运算,还要对实型数组,字符型数组进行运算。为了美化和方便程序,为了能实现一个友好的人机界面,就必须以多种方法的形式出现在你的JAVA程序中。之前,我也试过了将多个函数模块写在主方法中,发现了如下问题1在主方法中要用来存储第A,B中相异的元素的第三集合需要定义很多,和比较的中间变量也比较多。使程序看起来一是冗杂,而是出现问题很多,很难进行调试。2难以实现用户的自主性,因为在同一个主方法中,所有的函数都是按照顺序从上往下执行的不能选择性的跳过。这就增加函数的选择的难度。所以想到用多方法定义集合运算,在个定义了一个抽象的数据类型后,还需为这个类型的对象定义相应的操作。分别是整形的,实型的,字符型的交并差的方法。PUBLICSTATICVOIDINTJIHE;PUBLICVOIDCHARJIHECHARAARRAY,CHARBARRAY等等。其中三种集合的操作都是一样的。只是在形式上以及操作类型上出现一些细微的差别。但是算法本质上没有很大的差别。初始时想通过找到A,B集合中的A异于B的元素于是编出JAVA函数代码。FORI0IAARRAYLENGTHIFORJ0JBARRAYLENGTHJIFAARRAYIBARRAYJCARRAYKAARRAYI结果发现这段函数根本实现不了其所期望的功能,根本原因在于他只是找到一个与B中第一个不一样的元素就输出,终止了操作。其结果肯定是不行的。以下附上正确的源代码OUTERFORI0IAARRAYLENGTHIFORJ0JBARRAYLENGTHJIFAARRAYIBARRAYJCONTINUEOUTERCARRAYKAARRAYI这是在函数还标记了一个位置好让函数在找到不同的元素,还能继续遍历下一个元素直至找到A中所有的元素不同于B的元素,能实现我们的目的。下面附上完整和美化后的函数源代码(函数的功能标记注释)IMPORTJAVAUTILSCANNERPUBLICCLASSNEWMAINSTATICINTAARRAYSTATICINTBARRAY/定义成员变量/STATICCHARDARRAY//A,B,C,D//进行函数的测试STATICCHAREARRAY//C,H,JSTATICDOUBLEGARRAYSTATICDOUBLEHARRAYPUBLICSTATICVOIDINTJIHE//整形集合的运算方法INTCARRAYNEWINT20INTDARRAYNEWINT20//开辟中间函数的空间INTI,J,K0,L,T0,M,N,R0,BOUTERFORI0IAARRAYLENGTHIFORJ0JBARRAYLENGTHJIFAARRAYIBARRAYJCONTINUEOUTER//如果找到相同的返回函数头继续做CARRAYKAARRAYITK//找到相同的符号(字母,数字,实型)//SYSTEMOUTPRINTLN“T“T//用于检查T是否进行正确操作IFT0SYSTEMOUTPRINT“该集合的差集为空集“ELSESYSTEMOUTPRINTLN“集合减的结果是“SYSTEMOUTPRINTLNSYSTEMOUTPRINT“AB“SYSTEMOUTPRINT““FORINTG0GTGSYSTEMOUTPRINTCARRAYG“,“//输出集合减的结果SYSTEMOUTPRINT““FORJ0JBARRAYLENGTHJCARRAYKBARRAYJ//SYSTEMOUTPRINTLNK/检测K赋值多少即是找到A,B中相同的数字多少/SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT“集合并的结果是“SYSTEMOUTPRINTLNSYSTEMOUTPRINT“AUB“SYSTEMOUTPRINT““FORL0LKLSYSTEMOUTPRINTCARRAYL““SYSTEMOUTPRINT““SYSTEMOUTPRINTLNSYSTEMOUTPRINTLN//换行用于美化0MAARRAYLENGTHMFORN0NBARRAYLENGTHNIFAARRAYMBARRAYNDARRAYRAARRAYMIFR0SYSTEMOUTPRINT“集合没有交集请重新检查输入是否合法“ELSESYSTEMOUTPRINT“集合交的结果“//输出集合交的结果SYSTEMOUTPRINT“AB“SYSTEMOUTPRINTLNSYSTEMOUTPRINT“AB“SYSTEMOUTPRINT““FORB0BRBSYSTEMOUTPRINTDARRAYB“,“SYSTEMOUTPRINT““PUBLICVOIDCHARJIHECHARAARRAY,CHARBARRAY//字符型集合运算的方法INTI,J,K0,L,T0,M,N,R0,BCHARCARRAYNEWCHAR20CHARDARRAYNEWCHAR20OUTERFORI0IAARRAYLENGTHIFORJ0JBARRAYLENGTHJIFAARRAYIBARRAYJCONTINUEOUTER//如果找到相同的返回函数头继续做CARRAYKAARRAYITK//SYSTEMOUTPRINTLN“T“TIFT0SYSTEMOUTPRINT“该集合的差集为空集“SYSTEMOUTPRINTLN“集合减的结果是“SYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORINTG0GTGSYSTEMOUTPRINTCARRAYG“,“SYSTEMOUTPRINT““FORJ0JBARRAYLENGTHJCARRAYKBARRAYJ//SYSTEMOUTPRINTLNK/检测K赋值多少即是找到A,B中相同的数字多少/SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT“集合并的结果是“//找到不相同的目标后,把另外一个数组的元素调进去SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORL0LKLSYSTEMOUTPRINTCARRAYL““SYSTEMOUTPRINT““SYSTEMOUTPRINTLNSYSTEMOUTPRINTLN0MAARRAYLENGTHMFORN0NBARRAYLENGTHNIFAARRAYMBARRAYNDARRAYRAARRAYMIFR0SYSTEMOUTPRINT“集合没有交集请重新检查输入是否合法“ELSESYSTEMOUTPRINT“AB交集的结果是“SYSTEMOUTPRINT“AB“SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORB0BRBSYSTEMOUTPRINTDARRAYB“,“SYSTEMOUTPRINT““PUBLICVOIDDOUBLEJIHEDOUBLEAARRAY,DOUBLEBARRAY//DOUBLE型数据处理INTI,J,K0,L,T0,M,N,R0,BDOUBLEDARRAYNEWDOUBLE20DOUBLECARRAYNEWDOUBLE20OUTERFORI0IAARRAYLENGTHIFORJ0JBARRAYLENGTHJIFAARRAYIBARRAYJCONTINUEOUTERCARRAYKAARRAYITK//寻找异于B中的数//SYSTEMOUTPRINTLN“T“T//用于检查T是否进行正确操作IFT0SYSTEMOUTPRINT“该集合的差集为空集“ELSESYSTEMOUTPRINTLN“集合减的结果是“SYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORINTG0GTGSYSTEMOUTPRINTCARRAYG“,“SYSTEMOUTPRINT““FORJ0JBARRAYLENGTHJ//转移操作CARRAYKBARRAYJSYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT“AB并的结果是“SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORL0LKLSYSTEMOUTPRINTCARRAYL““SYSTEMOUTPRINT““SYSTEMOUTPRINTLNSYSTEMOUTPRINTLN0MAARRAYLENGTHMFORN0NBARRAYLENGTHNIFAARRAYMBARRAYNDARRAYRAARRAYMIFR0SYSTEMOUTPRINT“集合没有交集请重新检查输入是否合法“ELSESYSTEMOUTPRINT“集合交的结果是“SYSTEMOUTPRINT“AB“SYSTEMOUTPRINTLNSYSTEMOUTPRINTLNSYSTEMOUTPRINT““FORB0BRBSYSTEMOUTPRINTDARRAYB“,“SYSTEMOUTPRINT““PUBLICSTATICVOIDMAINSTRINGARGSNEWMAINANEWNEWMAININTC1,2,3,4INTD2,3,5,6CHAREA,B,C,D//变量赋值操作CHARFC,H,JDOUBLEG11,13//,17,21,40//DOUBLEH10,12//,14,15用于修改调试AAARRAYCABARRAYDSYSTEMOUTPRINTLN“请输入你的选择按下面提示操作“SYSTEMOUTPRINTLN“1整形数组2字符型数组3字符型数组“SCANNERANEWSCANNERSYSTEMIN//输入函数选择操作INTBANEXTINTSWITCHBCASE1AINTJIHEBREAKCASE2ACHARJIHEE,FBREAKCASE3ADOUBLEJIHEG,HJAVA程序运行结果展示,运用NETBEANSIDE691软件运行本文是通过网络收集的资料,如有侵权请告知,我会第一时间处理。本店专业提供豆丁网道客巴巴百度文库智客(21ASK)文档在线网站的原始文档下载服务。收费标准1、豆丁网按照豆丁网原价的50收取,不收手续费。2、道客巴巴按照道客巴巴网站原价的90收取,不收手续费。3、百度文库所有文档,无论多少积分,统一收取1元,不收手续费。4、智客网按照智客网的原价收取,手续费1元。(智客网站每次充值最少是20元)5、文档在线所有文档,无论多少积分,统一收取5元,不收手续费(文档在线网站,每次充值至少20元)。关于发货(5分钟内完成)1、通过旺旺发送。2、通过QQ发送。3、通过邮箱发送。联系方式1、QQ16405228812、旺旺MX5976516613、邮箱1640522881QQCOM4、手机15018530036(限短信)注意事项1、所有文档一经售出概不退款。2、大家购买时,请按实际的价格选择合适的宝贝数量。否则不予发货。谢谢配合。3、拍下宝贝时,务必备注清楚文档网站链接地址(或者文档的完整名称)以及邮箱地址。4、店主在线时再拍,以防止不能及时的给您发货。您有任何疑问,请联系我欢迎大家前来咨询营业时间早上10300100

java+实现集合并运算_JAVA程序设计报告+集合运算相关推荐

  1. java中的集合框架_JAVA中的集合框架(上)List

    第一节 JAVA中的集合框架概述 集合的概念,现实生活中:很多事物凑在一起就是一个集合:数学中的集合:具有相同属性事物的总体:JAVA中的集合:是一种工具类,就像是容器,储存任意数量的具有共同属性的对 ...

  2. java软件设计教学大纲_Java程序设计课程教学大纲

    Java程序设计课程教学大纲 课程编号: "Java语言程序设计"课程教学大纲 Java Program Design Course Outline 60学时 3学分 一.课程的性 ...

  3. Java数组中文排序_Java模块 -- 数组/集合中文汉字排序(支持生僻汉字)

    这里举例List集合 , 对list中的中文进行排序 , 按照中文拼音首字母. 支持生僻汉字的话 , 需要使用一个jar包 , 链接地址如下 传统的 : List list = new ArrayLi ...

  4. java list《》_Java中List集合的遍历

    一.对List的遍历有三种方式 List    list    =    new    ArrayList(); list.add("testone"); list.add(&qu ...

  5. java 数组长度 可变_java基础之集合长度可变的实现原理

    首先我们要明白java中的集合Collection,List,ArrayList之间的关系: ArrayList是具体的实现类,实现了List接口 List是接口,继承了Collection接口 Li ...

  6. java 分批同时处理_java中List集合分批处理

    在项目中存在list集合数据量过大,需要对这个list集合进行分批处理,自己写了一个list分批处理的一个算法: package com.lv.huizhong.demo; import java.u ...

  7. java 集合迭代器_Java中的集合迭代器

    集合的迭代器 任何集合都有迭代器. 任何集合类,都必须能以某种方式存取元素,否则这个集合容器就没有任何意义. 迭代器,也是一种模式(也叫迭代器模式).在java中它是一个对象,其目的是遍历并选中其中的 ...

  8. java中怎么让原有的集合反转_Java如何反转集合中的元素?

    在Java编程中,如何反转集合中的元素? 下面的例子演示了如何使用CollectionIlator()和Collection.List()的Collection.reverse()方法来反转集合. p ...

  9. java map集合使用_JAVA中Map集合的使用举例

    首先创建一个Emp类,再将几个Emp对象添加到Map集合中. Emp的id作为Map的键,并将id为"005"的对象从集合中删除. package com.han; import ...

最新文章

  1. 计算机生活工作原理,计算机基本工作原理是什么?
  2. SICP学习笔记(1.1.4~1.1.5)
  3. 像Java这样的C ++具有低延迟
  4. Eclipse GBK批量转UTF-8插件(转)
  5. Python与R的争锋:大数据初学者该怎样选?
  6. 6个必须掌握的基础配置 - [webpack第一篇]
  7. html期末主题作业,tm.html
  8. 单片机c语言按照长度分割字符串,单片机c语言字符串操作
  9. linux 下的挂载
  10. Linux之find xargs
  11. win10 使用点滴
  12. 用c语言实现二叉树的三种遍历_利用循环和递归实现二叉树的三种遍历
  13. 使用NEWSEQUENTIALID解决GUID聚集索引问题
  14. sketchup 草图 大师 使用笔记
  15. 易经六十四卦详解白话文解释——易经64卦全解(下)
  16. Linux环境下YUM和DNF详细介绍
  17. 最强模拟器Genymotion到期开始收费破解教程
  18. 意向性:或如何将之安置在自然界
  19. Lua语言实现游戏动作
  20. JAVA集合 ==> JAVA基础练习题 - 集合练习十道题

热门文章

  1. 自由缩放属性resize
  2. iOS AppStore 申请加急审核
  3. Android系列之Fragment(二)----Fragment的生命周期和返回栈
  4. ADO.NET Entity Framework 使用数据定义语言(实体框架)
  5. 网络设备中的交换机(Switch)是什么?—Vecloud微云
  6. 发现一个电子书下载的【简书】
  7. Description Resource Path Location Type Project configuration is not up-to-d
  8. 6264:走出迷宫(DFS和BFS)
  9. SearchScore
  10. django的表单系统