删除重复项
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;
}
}
目录