




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中南林业科技大学涉外学院 实 验 报 告 课题二课程名称 数据结构 年级系部 2010级理工系 专业班级 计算机科学与技术1班学生姓名 邹家运 学号 20107994 任课教师 余波 2011年12月课题二:编写一个能演示执行集合的并,交,差运算的程序1. 需求分析:演示用户自定义的二个集合的并,交,差运算,本程序用java的界面实现用户和计算机的交互,即在界面显示输入的提示信息和结果,在本程序中集合里面的元素数量和类型不限,点击相应的按钮计算相应的结果显示在一个文本输入框上。2. 概要设计:为实现上述程序的功能,程序使用了集合类TreeSet的不允许加入相同元素,和自动排序的特性。3.详细设计:3.1: 所需要的开发环境: java语言windows7,eclipse,jdk1.63.2:在java中提供了集合运算的函数,这里要将计算的结果排序,所以用TreeSer类,而且在做并集运算时,因为TreeSet不允许加入相同元素,把元素加入到TreeSet里面自动消除相同元素,这里使用起来很方便,本程序中设计了集合类a用来存放jt1文本框中的元素,集合类b用来存放jt2文本框中的元素,jt3用来显示结果,集合all用来求并集时消除相同的元素。4.实验分析:并集运算:集合a和集合b分别加入到集合all中,再取出计算后的元素,显示到jt3文本框中。 交集运算: 在TreeSet中有专门用来就交集的函数(retainAll)所以并集时a.retainAll(b),再取出计算后的元素显示在jt3文本框中。 差集运算: 在TreeSet中有专门用来就交集的函数(removeAll)所以并集时a.removeAll(b),再取出计算后的元素显示在jt3文本框中。5.实现的代码:/*利用TreeSet的不允许加入重复元素和自动排序的功能*/import java.awt.*;import javax.swing.*;import java.util.*;import java.awt.event.*;public class JiHe extends JFrame implements ActionListener/界面的编写JPanel jp1,jp2,jp3,jp4;JLabel jl1,jl2,jl3;JTextField jt1,jt2,jt3;JButton jb1,jb2,jb3,jb4;public static void main(String args) new JiHe();public JiHe()jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jl1=new JLabel(输入集合A);jl2=new JLabel(输入集合B);jl3=new JLabel(运算的结果);jt1=new JTextField(10);jt2=new JTextField(10);jt3=new JTextField(10);jb1=new JButton(并集);jb1.addActionListener(this);jb2=new JButton(交集);jb2.addActionListener(this);jb3=new JButton(差集);jb3.addActionListener(this); jb4=new JButton(取消); jb4.addActionListener(this); this.setLayout(new GridLayout(4,1); jp1.add(jl1);jp1.add(jt1); jp2.add(jl2);jp2.add(jt2); jp3.add(jl3);jp3.add(jt3); jp4.add(jb1);jp4.add(jb2); jp4.add(jb3); jp4.add(jb4); this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.setLocation(400, 200);this.pack();this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Overridepublic void actionPerformed(ActionEvent e) /事件的处理/ TODO Auto-generated method stub Set a=new TreeSet();/用来存放jt1Set b=new TreeSet();/用来存放jt2 Set all=new TreeSet();/用来存放a和b String sta=jt1.getText();String sa=sta.split(,);/以“,”分开 String stb=jt2.getText();String sb=stb.split(,); String bing=;String jiao=;String cha=;for(int i=0;isa.length;i+)if(!sai.equals(,)a.add(sai);/加入集合a中for(int j=0;jsb.length;j+)if(!sbj.equals(,)b.add(sbj);/加入集合b中all.addAll(a);all.addAll(b);/加入到一个all集合中消除相同元素,得到了并集Iterator it=all.iterator();/迭代取值while(it.hasNext()bing=bing+it.next()+,;/得到结果if(e.getSource()=jb1)/显示并jt3.setText(bing);if(e.getSource()=jb2)a.retainAll(b); /求交集Iterator it1=a.iterator();while(it1.hasNext()jiao=jiao+it1.next()+,;jt3.setText(jiao);if(e.getSource()=jb3) a.removeAll(b);/求差集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中原电池课件
- 高中doing课件教学课件
- 高一知识培训课件
- 山地土地租赁合同范本(山地生态旅游项目合作开发)
- 知识产权评估与交易全权委托合作协议书
- 金融信息行业用工合同及商业秘密保护协议
- 宫颈糜烂护理知识细则
- 心理学在安全生产中的应用
- 养殖场水质监测指南
- 如何引导初高中学生建立正确的人生规划
- 脑循环功能障碍治疗仪讲课件
- 税务教育培训经费管理制度
- 心血管考试试题及答案
- 《区块链智能合约技术与应用》全套教学课件
- 医保卫生室管理制度
- 青岛租房合同协议书下载
- 保安服务台账资料相关表格
- GB/T 17642-2025土工合成材料非织造布复合土工膜
- 企业内部培训合格证明书(5篇)
- 三甲医院电子病历管理规定
- 2024年纺织行业招聘要点试题及答案
评论
0/150
提交评论