为什么我这个代码运行之后结果有许多的重复,求帮忙

package a;


public class A {



public static void main(String[] args) {

int a[]={1,4,9,9};

fun(a,0);

}

     public static void  fun(int a[],int k){

    if(isOk(a)){

    for(int i=0;i<a.length;i++){

    System.out.print(a[i]);

    }

    System.out.println();

    }

    for(int i=k;i<a.length;i++){

  {int temp =a[i];

  a[i]=a[k];

  a[k]=temp;}

  fun(a,k+1);

  {int temp =a[i];

  a[i]=a[k];

  a[k]=temp;}

  }

     }

     public static boolean isOk(int a[]){

    int m= a[0]*1000+a[1]*100+a[2]*10+a[3];

    for(int i=2;i<Math.sqrt(m);i++){

    if(m%i==0){

    return false;

    }

    }

    int a1=0;int a2=0;int a3=0;

    for(int i=0;i<a.length;i++){

    if(a[i]==1){

    a1++;

    } if(a[i]==4){

    a2++;

    } if(a[i]==9){

    a3++;

    }

    }

    if(a1!=1||a2!=1||a3!=2){

    return false;

    }

    return true;

     }

}


安之4183388
浏览 1012回答 1
1回答

产品经理不是经理

你要得到什么样的结果
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java