java编程将a,b数组中不同的数字保存到一个新的数组中

java编程将a,b数组中不同的数字保存到一个新的数组中,第1张

建立一个临时数组 定义一个length来记录新加入的元素个数 然后把a b 的元素逐个加入到新数组中 加入前先用ArraysbinarySearch 检查新数组中是否已经有该元素 最后返回

以下代码仅供参考

import javautilArrays;
public class TestCircle {
public static void main(String args[]) {
int[] a = new int[] { 1, 3, 5, 2, 9, 5 };
int[] b = new int[] { 2, 5, 7, 10, 9, 11 };
int[] temp = addArray(a, b);
Systemoutprint("[");
for (int i : temp) {
Systemoutprint(i + " ");
}
Systemoutprint("]");
}
static int[] addArray(int[] a, int[] b) {
int[] temp = new int[alength + blength];
int length = 0;
for (int i : a) {
Arrayssort(temp);
if (ArraysbinarySearch(temp, i) < 0) {
temp[templength - length - 1] = i;
length++;
}
}
for (int i : b) {
Arrayssort(temp);
if (ArraysbinarySearch(temp, i) < 0) {
temp[templength - length - 1] = i;
length++;
}
}
return ArrayscopyOfRange(temp, templength - length, templength);
}
}

若你能保证a中的元素都是无重复的话   可以简化成以下

import javautilArrays;
public class TestCircle {
public static void main(String args[]) {
int[] a = new int[] { 1, 3, 5, 2, 9 };
int[] b = new int[] { 2, 5, 7, 10, 9, 11 };
Arrayssort(a);
int[] temp = addArray(a, b);
Systemoutprint("[");
for (int i : temp) {
Systemoutprint(i + " ");
}
Systemoutprint("]");
}
/
  这里a数组必须是有序不重复的
 /
static int[] addArray(int[] a, int[] b) {
int[] temp = ArrayscopyOf(a, alength + blength);
int length = alength;
for (int i : b) {
if (ArraysbinarySearch(a, i) < 0) {
temp[length] = i;
length++;
}
}
return ArrayscopyOf(temp, length);
}
}

/用最简单的基础计算随便写的  ,如果你要是字符串数组,那就循环数组 执行aaa方法……
你改一下返回值也可以,执行完返回一个数组……对象/
int n2[];                     //最终得到的数组,以下得到可变化长度的n2数组
                
 public void aaa(String s){         //传入字符串测试 String s="cd234sn3245ji34fn&^345&%";
  String num="";                        //储存连续数字的字符串
  int n1=0,n3=0,n4=0;               //变量,用来进行简单计算
 char[] c_1=stoCharArray();    //将字符串转化为字符数组
  for (int i = 0; i < c_1length; i++) {
  int o=CharactergetNumericValue(c_1[i]);      //字符转化为数字
   if (o>=0&&o<=9){
   num=num+c_1[i];        //储存连续数字
   n4=1;       //用来做下面的if判断
if(i!=(c_1length-1)){       //判断,当达到最后一个时候,不再执行continue;    
         continue;
    }
   } 
   
    if(n4==1){         //-------------------当n4=1执行
      n4=0;              //-------------------执行一次 还原为0
      n1=IntegerparseInt(num);       /------/将连续数字字符串转化为整型
      num="";                     //-----------------还原为空
      int []n2 = new int[n3+1];       //--------创建局部的n2数组
     if(n3!=0){                 //--------------------/第一次执行因为thisn2没有初始化,所以不执行 *** 作
      for (int i1 = 0; i1 < thisn2length; i1++) {
      n2[i1]=thisn2[i1];    //-------------------当thisn2的length!=0时,首先替换局部n2值
      }
     }
     n2[n3]=n1;     //-----------将最后一个值 传入参数
     thisn2=n2;    //----------------- 重新覆盖n2数组
     n3++;
    
   }
  }
 }
//---------------------------------------------main{}测试

    String str = "23,12,3,454,34,111,23";
    String[] arr = strsplit(",");
    int[] intArr = new int[arrlength];
    for(int i = 0; i< arrlength; i++){
        intArr[i] = IntgerparseInt(arr[i]);
    }

删除空格这样:
String str=" hello world ";
str=strreplaceAll("\\s+","");
这样就没有空格了,不用那么麻烦


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13246092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-26
下一篇 2023-06-26

发表评论

登录后才能评论

评论列表(0条)

保存