Corejava打印来自两个Arrya的唯一元素

Corejava打印来自两个Arrya的唯一元素,java,arrays,loops,Java,Arrays,Loops,我想要一个核心java程序来查找两个数组之间的唯一元素。 例子: 数组1-9,5,3,23,2,5 阵列2-19,5,3,23,24,53 来自两个数组的唯一元素的输出应打印为:9、2、19、24、53 请帮我写一个有精确循环的程序 注意:不希望使用任何集合处理同一程序,只希望使用循环。谢谢您必须使用至少两个循环 public void uniqueM(int arrayA[], int arrayB[]){ boolean uniqueA = true, uniqueB = true;

我想要一个核心java程序来查找两个数组之间的唯一元素。 例子: 数组1-9,5,3,23,2,5 阵列2-19,5,3,23,24,53

来自两个数组的唯一元素的输出应打印为:9、2、19、24、53

请帮我写一个有精确循环的程序


注意:不希望使用任何集合处理同一程序,只希望使用循环。谢谢

您必须使用至少两个循环

public void uniqueM(int arrayA[], int arrayB[]){
    boolean uniqueA = true, uniqueB = true;
    int high_size = arrayA.length, low_size = arrayB.length;

   if(arrayA.length < arrayB.length){
     low_size = arrayA.length;
     high_size = arrayB.length;
    }

    for(int i = 0; i < high_size; i++){
      for(int j = 0; j < low_size;j++)
      {
         if(i < arrayA.length && arrayA[i] == arrayB[j]) uniqueA = false;
         if(i < arrayB.length && arrayB[i] == arrayA[j]) uniqueB = false;
      }
       if(uniqueA && i < arrayA.length) System.out.println(arrayA[i]);
       if(uniqueB && i < arrayB.length) System.out.println(arrayB[i]);

       uniqueA = true;
       uniqueB = true;
    }
}
public void uniqueM(int arrayA[],int arrayB[]{
布尔值uniqueA=true,uniqueB=true;
int high_size=arrayA.length,low_size=arrayB.length;
if(arrayA.length
您需要根据法定整数的范围调整
计数器
数组和
偏移量
变量的大小。但这并没有使用
java.util
API中的任何内容,只使用循环

public static int[] uniques(int[] array1, int[] array2) {
    // assuming your integers are 0-53, you'd have to modify this if it's different
    int[] counter = new int[54];

    // offset needs to be changed based on if negative numbers are allowed
    int offset = 0;

    for(int i = 0; i < array1.length; i++) {
        counter[array1[i] + offset]++;
    }
    for(int i = 0; i < array2.length; i++) {
        counter[array2[i] + offset]++;
    }

    int numUniques = 0;
    for(int i = 0; i < counter.length; i++) {
        if(counter[i] == 1) numUniques++;
    }

    int[] uniqueArray = new int[numUniques];
    int index = 0;
    for(int i = 0; i < counter.length; i++) {
        if(counter[i] == 1) uniqueArray[index++] = i;
    }

    return uniqueArray;
}
公共静态int[]uniques(int[]array1,int[]array2){
//假设你的整数是0-53,如果它不同,你必须修改它
int[]计数器=新的int[54];
//如果允许负数,则需要根据更改偏移量
整数偏移=0;
for(int i=0;i
您的电话号码是否限制在一定范围内?(即1-25)尝试从第一个数组旋转第一个数组中的每个元素,并使用每个元素和第二个数组元素进行检查。但我也想要相反的(就像从第二个阵列打印一样)是的,durron,它是固定的,但需要使用最小的循环。谢谢不管怎样,使用集合做这个有什么错?您只需使用地图跟踪项目及其计数,然后吐出匹配值为1的关键点。虽然可能还有比这更好的收藏,甚至…你能解释一下这里发生了什么吗?对于(inti=0;i