用java写的操作数字的代码(面向过程与面向对象两种)

这是面型过程写的代码,实现的内容是建立一个数字,查找指定值并返回顺序,删除指定值,插入指定值到指定顺序。代码如下:

public class AppArray {

	/**
	 * @param args
	 * 面向过程
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//初始化程序
		long arr[]=new long[100];
		int index,j,name,del,mem,k;
		
		//初始化数据
		arr[0]=77;
		arr[1]=99;
		arr[2]=44;
		arr[3]=55;
		arr[4]=22;
		arr[5]=88;
		arr[6]=11;
		arr[7]=00;
		arr[8]=66;
		arr[9]=33;
		index=10;
		
		//遍历所有数据
		for(j=0;j<index;j++)
		{
			System.out.print("\t"+arr[j]);
		}
		//寻找数据66返回值index
		name=66;
		System.out.println("\n\t寻找的数据是66");
		for(j=0;j<index;j++)
		{
			if(arr[j]==name)
				break;
		}
		if(j<index)
		    System.out.println("\t是数据中的第"+(j+1));
		else if(j==index)
			System.out.println("没有你要的数据");
		//删除数据
		del=55;
		for(j=0;j<index;j++)
		{
			if(arr[j]==del)
				break;
		}
		
		//赋值后半段
		for(mem=j;mem<index;mem++)
		{
			arr[mem]=arr[mem+1];
		}
		index--;
		for(j=0;j<index;j++)
		{
			System.out.print("\t"+arr[j]);
		}
		//插入一个数
		System.out.println("");
		k=0;
		index++;
		for(j=index;j>-1;j--)
		{
			arr[j+1]=arr[j];
		}
		arr[k]=55;
		for(j=0;j<index;j++)
		{
			System.out.print("\t"+arr[j]);
		}
		
			
		
	}

}


以下的代码是面向对象的:

public class arrDo 
{
	long[] arr;
	//新建一个数组
	public arrDo(int index)
	{
		arr=new long[index];
	}
	//对数组进行初始化
	public void setDate(int index,long date)
	{
		arr[index]=date;
	}
	//进行数据查询,根据关键字返回数字
	public long retDate(int index)
	{
		return arr[index];
	}
	public long select(long mem,int num)
	{
		int i;
		for(i=0;i<num;i++)
		{
			if (arr[i]==mem)
			break;
		}
		return i;		
	}
	public void inset(long num,int index,int n)
	{	
		int j;
		for(j=n;j>index;j--)
		{
			arr[j]=arr[j-1];
		}
		arr[j]=num;
		talk();
	}
	public void del(long n,int num)
	{
		int i,j,k=0,flag=0 ;
		for(i=0;i<num;i++)
		{
			if(arr[i]==n)
				flag=1;
				k=i;
				break;
		}
		if(flag==1)
		{
			//talk();
			for(j=k;j<num;j++)
			{
				arr[j]=arr[j+1];
			}
			num--;
			talk();
			
		}
	}
	public void talk()
	{
		System.out.println("ok");
	}
}


 

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i,num;
		long key,selct;
		//初始化数据
		arrDo ad=new arrDo(100);
		ad.setDate(0, 77);
		ad.setDate(1, 99);
		ad.setDate(2, 44);
		ad.setDate(3, 55);
		ad.setDate(4, 22);
		ad.setDate(5, 88);
		ad.setDate(6, 11);
		ad.setDate(7, 00);
		ad.setDate(8, 66);
		ad.setDate(9, 33);
		num=10;
		
		for(i=0;i<10;i++)
		{
			key=ad.retDate(i);
			System.out.print(key+"  ");
		}
		selct=ad.select(66, 10);
		System.out.print("\n"+selct+"  ");
		
		ad.inset(22, 3, 10);
		/*for(i=0;i<num--;i++)
		{
			key=ad.retDate(i);
			System.out.print(key+"  ");
		}*/
		ad.del(77, 11);
		/*for(i=0;i<num;i++)
		{
			key=ad.retDate(i);
			System.out.print(key+"  ");
		}*/
		
	}

}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值