解决方案 »

  1.   

    好吧,我整个的源码再发一遍,路过的兄弟姐妹们看看,菜鸟一个,求教了
    package Test;import java.util.*;public class GroupPrimes {

    public  HashSet<Integer> order(int a[],int start,int end)// 递归全排列
        {  
      HashSet<Integer> set=new HashSet<Integer>();
            if(start==end)  
            {  
                set.add(a[0]*1000+a[1]*100+a[2]*10+a[3]);  
            }else  
            {  
                for(int i=start;i<a.length;i++)  
                {  
                    int temp=a[i];  
                    a[i]=a[start];  
                    a[start]=temp;  
                    order(a,start+1,end);
                     temp=a[i];  
                    a[i]=a[start];  
                    a[start]=temp; 
                      
                }  
            }  
            return set;
        }  
    // ////////////////////////////////////////////
    public static boolean isPrime(int a) {

    boolean flag = true;
    if (a < 2) {
    flag = false;
    } else {
    for (int i = 2; i <= Math.sqrt(a); i++) {
    if (a % i == 0){
    flag = false;
    break;
    }
    }
    }
    return flag;
    }
    // /////////////////////////////////////////////////////////////  public static void main(String[] args)  
        {  
     GroupPrimes g=new GroupPrimes();

            int a[]={1,9,4,9};
           
            
            Iterator <Integer>i=g.order(a,0,a.length-1).iterator();
            System.out.println("djfk");
            while(i.hasNext())  
            {  
             System.out.println("djk");
                int num=i.next(); 
                
                if(isPrime(num))  
                   System.out.println(num);  
            }  
            System.out.println("dfk");
            
            
            
            
         
             
            }
    }
      

  2.   

    月经题了。
    写算法,心中不要有API。
    纯面向过程的程序,要少用集合框架。什么时候能抛弃“import java.util.*;”这句话,什么时候就能学好算法。
      

  3.   

    每次order都是new的一个新的hashSet吧