import java.util.*;
class arraytest 
{
public static void main(String[] args) 
{
ArrayList a1= new ArrayList();
a1.add("1");
a1.add("3");
a1.add("1");
a1.add("4");
a1.add("3");
 System.out.println(a1);
a1 = ff(a1);
        System.out.println(a1);
}
    public static ArrayList ff(ArrayList a1)
{
                  ArrayList a = new ArrayList();
   Iterator it = a1.iterator();
   while(it.hasNext());
{
   Object obj = it.next();    if(!a.contains(obj))
   a.add(obj);
}
                   return a;
    }
}
这个代码的while循环出问题了  不能结束  请大家帮我看一下哪里有问题   

解决方案 »

  1.   

    while条件一直是true吧
      

  2.   

    while(it.hasNext());   去掉后面这个分号
      

  3.   


    import java.util.*;
    class ArrayListTest 
    {
    public static void main(String[] args) {
    ArrayList a1= new ArrayList();
    a1.add("1");
    a1.add("3");
    a1.add("1");
    a1.add("4");
    a1.add("3");
    System.out.println(a1);
    a1 = ff(a1);
            System.out.println(a1);
    }
        public static ArrayList ff(ArrayList a1){
         ArrayList a = new ArrayList();
         Iterator it = a1.iterator();
         while(it.hasNext()){
         Object obj = it.next();
         if(!a.contains(obj)){
         a.add(obj);
         }
         }
            return a;
        }
    }