删除 重复项,正数反转,移除数组中的所有某个元素,数组中插入数据(打出其位置)

删除重复项

package day_6_30;
//删除重复项

public class tet_1 {
	public static void main(String[] args){
		int []arr={0,0,1,1,1,2,2,3,3,4};
		int []s=a1(arr);
		for(int m:s){
		System.out.print(m);
	}
	}
	public static int[] a1(int[] arr){
		//记录去重之后的数组长度以及数组的下标
		int t=0;
		//设一个新的临时数组来装产生的数
		int [] temparr=new int[arr.length];
		//遍历原数组
		for(int i=0;i<arr.length;i++){
			boolean istrue=true;
			//内层循环将原数组的元素一一对比
			for(int j=i+1;j<arr.length;j++){
				//比较俩数是否相等,相等则false,结束当此循环
				if(arr[i]==arr[j]){
					
					istrue=false;
					break;
				}
			}
			if(istrue){
				//没有重复的就将原数组赋值
				temparr[t]=arr[i];
				t++;
			}
		}System.out.println(t);
		int[] newarr=new int[t];
		//数组复制 将temparr数组复制到newarr中;
		System.arraycopy(temparr,0,newarr,0,t);
		//这个才是去重后的
		return newarr;
	}
}

正数反转

package day_6_30;
//正数反转
//打印1234返回4321
public class tet_2 {
	public static void main(String[] args){
		a1(-123456);
	}
		public static void a1(int num){
	    int i;
	    int num1=0;
	if(num<=0){
		//将负数变为正数,进行运算
	    num=-num; 
		   if(num<10){
			    System.out.println("结果: "+num);
			}else{
			    while(num>0){
			        //取当前num值的个位数。
			        i = num % 10;
			        //取num去掉个位数后的数字,如123变成12.
			        num = num / 10;
			        num1 = num1 * 10 + i;
			    }
			    
			    //结果前加-号即可
			    System.out.println("结果:- "+num1);
			}
	}else if(num<10){
	    System.out.println("结果: "+num);
	}else{
	    while(num>0){
	        //取当前num值的个位数。
	        i = num % 10;
	        //取num去掉个位数后的数字,如123变成12.
	        num = num / 10;
	        num1 = num1 * 10 + i;
	    }
	    System.out.println("结果: "+num1);
	}
	}
}

移除所有和值相等的元素

package day_6_30;
//移除所有和值相等的元素
//给定一个数组 nums 和一个值 val 你需要原地移除所有数值等于val的元素,返回移除后数组的新长度,不要使用额外的数组空间
public class txt_3_01 {
	public static void main(String[] args) {
        int[] nums={3,2,2,3,3};
        int m= a1(nums,3);
        System.out.println(m);
    }

    private static int a1(int[] a, int val) {
        int count=0;//数组新下标
        for(int i=0;i<a.length;i++){
            if(a[i]==val){
            	
            }
            else{
                a[count]=a[i];
                count++;
            }
        }
        return count;
    }
}

数组中插入数据,并求其位置

package day_6_30;
//插入位置
//给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引,如果目标值不存在数组中,返回他将会被按顺序插入的位置
public class txt_4 {
	public static void main(String[] args){
		int []arr={1,3,5,6,8,9,10,11,12,18,19};
	int result=	a1(arr,7);	
	System.out.println(result);
	}
	//与数组内所有元素做比较,直到小于停下
	public static int a1(int []arr ,int n){
		int i=0;
		//先用for方法,一个个与目标值比较,若
		for( i=0;i<arr.length;i++){
			if(arr[i]==n){
				return i;
			}
			//没找到,即顶替比目标值大的元素的下标
			else if (arr[i]>n){
				return i;
			}
		}
		return i;
		
	
	}

}

回文数

package day_6_30;
/**
 * 回文数
 * 判断一个正数是否是回文数,回文数是指正序(从左到右) 和 倒叙(从右到左) 读  都是一样的整数
 * 返回值是true,false,boolean型;
 * if n<0
 * return false 
 * 
 * 回文数的特点是反转之后的与数本身是一样的即可将数字反转,与原数比较如果相等,那么就是回文数
 * 返回true
 * 反之就不是 返回false;
 * 
 * @author 啊超
 * @Date 2021年6月30日
 */
public class huiwen {
	
	public static void main(String[] args){
		int num=12345;
		int result=a1(num);
		
		if( num==result){
			System.out.println(true);
		}else{
			System.out.println(false);
		}
	}
		public static int a1(int num){
	    int i;
	    int num1=0;
	if(num<=0){
		//将负数变为正数,进行运算
	    num=-num; 
		   if(num<10){
			    System.out.println("结果: "+num);
			}else{
			    while(num>0){
			        //取当前num值的个位数。
			        i = num % 10;
			        //取num去掉个位数后的数字,如123变成12.
			        num = num / 10;
			        num1 = num1 * 10 + i;
			    }
			    //结果前加-号即可
			    System.out.println("结果:- "+num1);
			}
	}else if(num<10){
	    System.out.println("结果: "+num);
	}else{
	    while(num>0){
	        //取当前num值的个位数。
	        i = num % 10;
	        //取num去掉个位数后的数字,如123变成12.
	        num = num / 10;
	        num1 = num1 * 10 + i;
	    }
	    System.out.println(num1);
	}
	return num1;
	}
}

	

目录

删除重复项

正数反转

移除所有和值相等的元素

数组中插入数据,并求其位置

回文数


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值