yexiuyyds 2022-10-16 15:06 采纳率: 69.2%
浏览 50
已结题

关于#java#的问题,请各位专家解答!(开发工具-eclipse)

img


这个问题已经困恼了我一天了,怎么才能数组中去质数,你们说的答案有些我还没学,能不能从下面这个去重的基础上改
public static void main(String[] args) {
int[] arr= {12,23,34,23,45,56,12};
System.out.println(Arrays.toString(test1(arr
}
public static int[] test1(int[] arr) {
int[] newarr= {};
int index=0;
for(int i=0;i<arr.length;i++) {
boolean flag=true;
for(int j=0; j<newarr.length; j++{
if(newarr[j]==arr[i]) {
flag=false;
break;
}
}
if(flag) {
newarr=Arrays.copyOf(newarr,newarr.length+1
newarr[index]=arr[i];
index++;
}
}
return newarr;
}

  • 写回答

1条回答 默认 最新

  • 金士曼 优质创作者: Java技术领域 2022-10-16 18:05
    关注
    public static void main(String[] args) {
        int[] arr= {12,23,34,23,45,56,12};
        System.out.println(Arrays.toString(test1(arr)));
    }
    public static int[] test1(int[] arr) {
        int[] newarr= {};
        int index=0;
        for(int i=0;i<arr.length;i++) {
            boolean flag=true;
            for (int j = 2; j < arr[i]; j++) {
                if (arr[i] % j == 0) {
                    flag = false;
                    break;
                }
            }
            /*for(int j=0; j<newarr.length; j++) {
                if(newarr[j]==arr[i]) {
                    flag=false;
                    break;
                }
            }*/
            if(flag==false) {//改过的地方
                newarr=Arrays.copyOf(newarr,newarr.length+1);
                newarr[index]=arr[i];
                index++;
            }
        }
        return newarr;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 已采纳回答 10月16日
  • 创建了问题 10月16日