黑马程序员技术交流社区

标题: 这段代码完全不知道怎么修改,求大神 [打印本页]

作者: kmlitheima    时间: 2015-6-5 21:27
标题: 这段代码完全不知道怎么修改,求大神
public class TestArrayList{

        public static void mian(String[] args){
             ArrayList<Integer> al=new ArrayList<Integer>();
                    noReapter();
     for(Integer in:al)
                 System.out.println(in);
}
public void noReapter(ArrayList<Integer> al){
       while(true){
                        int num=0;
                        int randomNum=(int)(Math.random()*20+1);
                        if(!al.contains(randomNum))
                        {
                       al.add(randomNum);
                       num++;
                       }
                      if(num==10)
                              break;
          
               
        }
}
}求支出问题,或者修改出来也行。


作者: kmlitheima    时间: 2015-6-5 21:33
public class TestArrayList {

        public static void mian(String[] args) throws NoSuchMethodError{
             ArrayList<Integer> al=new ArrayList<Integer>();
                   while(true){
                        int num=0;
                        int randomNum=(int)(Math.random()*20+1);
                        if(!al.contains(randomNum))
                        {
                       al.add(randomNum);
                       num++;
                       }
                      if(num==10)
                              break;
          
               
        }
     for(Integer in:al)
                 System.out.println(in);
}

}是这一个,刚才发布错了!
作者: edithe    时间: 2015-6-5 22:10
擦,主方法名字写错,main   不是mian
作者: fecuznmn    时间: 2015-6-5 22:33
你这循环体进来就重置num,还设置的num==10才能出去,根本出不去好吗

把int num = 0 放在while外边
作者: pizhihui    时间: 2015-6-5 22:44
第一,楼主的main单词写错了,写成了mian
第二,while循环里的定义num变量,应该放在循环外面,不然每次都初始化为0,当然程序没有输出了。
最后最终的程序给楼主贴上。
  1. import java.util.ArrayList;

  2. public class TestArrayList {

  3.         public static void main(String[] args) throws NoSuchMethodError {
  4.                
  5.                 ArrayList<Integer> al = new ArrayList<Integer>();
  6.                 int num = 0;
  7.                 while (true) {
  8.                        
  9.                         int randomNum = (int) (Math.random() * 20 + 1);
  10.                         if (!al.contains(randomNum)) {
  11.                                 al.add(randomNum);
  12.                                 num++;
  13.                         }
  14.                         if (num == 10)
  15.                                 break;

  16.                 }
  17.                 for (Integer in : al)
  18.                         System.out.println(in);
  19.         }

  20. }
复制代码



作者: wang649557111    时间: 2015-6-5 23:13
不懂。。。。。。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2