java 练习6整数集合类

定义一个整数集合类integerSet,存储十个20-80之间的数,用数组存储数据
编程实现:
(1)判断类对象s1,s2是否相等,集合相等的条件是所有元素相等
(2)输出两集合对象的交集
(3)输出两集合对象的并集
(4)插入一个元素
(5)删除一个元素

代码实现

package unit4;

public class integerSet 
{
	int a[];
	int b[];

	integerSet(int []c,int []d)	//带参数的构造函数;
	{
		this.a=c;
		this.b=d;
	}
	
	void Equal(int e[],int f[]) //判断两个数组是否相等,并输出交集
	{	System.out.print("\n交集为:");

		int count = 0;
		
		for(int j=0;j<10;j++)
		{
			for(int h=0;h<10;h++)
			{
				if(e[j]==f[h])
				{
					count++;		//统计两个数组中相等的数的个数
					System.out.print(e[j]+" ");//把相等的元素拿出来放在交集输出来
				}
				
			}
		}
		if(count==10)//两集合元素完全相等的情况
		{
			System.out.print("\nS1=S2");
		}
		else
		{
			System.out.print("\nS1!=S2");
		}
	}
	
	void Union(int e[],int f[])//求并集的方法
	{	System.out.print("\n并集为:");
		int flag=0;
		for(int i=0;i<10;i++)
		{
			System.out.print(e[i]+" ");//输出e数组的元素
		}
		for(int j = 0;j<10;j++)
		{
			for(int h = 0;h<10;h++)
			{
				if(f[j]==e[h])
				{
					flag++;
				}
			}
			if(flag==0)
			{
				System.out.print(f[j]+" ");
			}
			else
			{
				flag=0;
			}
		}
		
	}
	
	void Insert(int a,int b[])//将整数插入到集合a中的方法
	{
		int c[];
		c = new int[11];
		for(int i=0;i<10;i++)
		{
			c[i]=b[i];
		}
		c[10]=a;
		System.out.print("\n将整数"+a+"插入到集合a中后的结果为:");
		for(int j = 0;j<11;j++)
		{
			System.out.print(c[j]+" ");
		}
	}
	
	void Del(int a,int b[])
	{	
		int c[];
		int i, j = 0;
		c=new int[9];
		for(i=0;i<10;i++)
		{
			if(b[i]==a)
			{
				j=i;	
			}
			
		}
		for(i=0;i<j;i++)
		{
			c[i]=b[i];
		}
		for(i=j;i<c.length;i++)
		{
			c[i]=b[i+1];
		}
		System.out.print("\n将元素"+a+"从集合a中移除后的结果为:");
		for(i=0;i<9;i++)
		{
			System.out.print(c[i]+" ");
		}	
	}
	
	public static void main(String args[])
	{
		int a[]= {20,21,58,65,45,44,32,54,66,77};
		int b[]= {33,36,20,21,52,65,45,29,79,61};
		System.out.print("集合a:");
		for(int i=0;i<10;i++)
		{
			System.out.print(a[i]+" ");
		}
		System.out.print("\n集合b:");
		for(int i=0;i<10;i++)
		{
			System.out.print(b[i]+" ");
		}
		integerSet asd=new integerSet (a,b);
		asd.Equal(a, b);
		asd.Union(a, b);
		asd.Insert(99,a);
		asd.Del(66,a);
		
	}
}

运行结果

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值