数组程序将某个值从一个数组存储到另一个数组,给出错误的输出,而 运行 java 中的以下代码

array program to store a certain value from one array to another giving wrong output while running the below code in java

包 Starter_Code;

public class 解决方案{

public int[] checkNumber(int[] inIntArr1,int[] inIntArr2) {
    int[] outIntArr=new int[inIntArr1.length];
    int temp,pro=1;
    
    int k=0;
    for(int i=0;i<inIntArr1.length;i++){
        for(int j=0;j<inIntArr2.length;j++){
            if(inIntArr1[i]==inIntArr2[j]){
                outIntArr[k]=inIntArr1[i];
                k++;
                break;
            }else if(Math.pow(inIntArr1[i], 2)==inIntArr2[j]){
                outIntArr[k]=inIntArr1[i];
                k++;
                break;
                
            }else if(inIntArr1[inIntArr1.length-1]==inIntArr2[inIntArr2.length-1]){
                outIntArr[k]=inIntArr1[i];
                k++;
                break;
            }else{
            
                while(inIntArr1[i]>0){
                temp=(inIntArr1[i])%10;
                pro=pro*temp;
                inIntArr1[i]=inIntArr1[i]/10;
                }
                if(pro==inIntArr2[j]){
                    outIntArr[k]=inIntArr1[i];
                    k++;
                    break;
                }
                
            }
            
            
         }
    }

    return outIntArr;
}

}

包 Starter_Code;

public class 测试员 {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    int[] inIntArr1= {26,17,25,35,39,63};
    int[] inIntArr2= {26,671,11,21,14,28};
  //Create an object of Solution
    Solution sol = new Solution();
    
    //Call checkNumber()
    int[]  result = sol.checkNumber(inIntArr1, inIntArr2);
    
    //display the output 
    System.out.println(result);
}

}

在这段代码中,我必须根据我在 if 语句中给出的条件将 inIntarr1 的值存储到 outIntArr,outIntArr 的长度应该在 inIntArr1 的范围内,但输出是这样的[我@7a8ce1e1

该数组不包含小于其长度的数字 (i < inIntArr1),因此会引发错误。

直接打印数组将始终为您提供哈希码。 像下面这样更改您的代码,将获得可读格式的输出。

当前代码:

//显示输出

System.out.println(result);

建议代码: 试试这个

// 显示输出

System.out.println(Arrays.toString(result));