注册 登录
编程论坛 JAVA论坛

ArrayList集合代码问题,求教?谢谢!!

bbenchu 发布于 2018-09-19 02:32, 2501 次点击
先上代码:
public class ArrayListDemo3 {
public static void main(String[] args) {
   
    //1、创建random对象,生成随机数
    Random r = new Random();   
   
   
    //2、创建集合用来装符合要求的随机数
    ArrayList<integer> Array = new ArrayList<integer>();
   
    //3、创建统计变量
    int count =0;
   
    //4、遍历随机数,查找符合要求(不重复)的随机数并添加到集合中如果统计变量小于10则退出循环
    while(count<10){
        //生成1--20之间的随机数
        int number = r.nextInt(20)+1;
        //(Integer ii = new Integer(number);)开始的时候并没有加上这段代码,因为有自动拆装箱特性,但是会在Array.add(number);处出错
        //判断是否符合要求
        if(!Array.contains(number)){
            
            Array.add(number);//然而我加上了还是处错?这个我就没法理解了,因为有自动拆装箱所以number也应该会直接转成Integer类型才对啊,add方法中参数不都是引用类型吗?
            //统计变量++
            count++;
        }
        
        
    }
   
    //5、输出集合
4 回复
#2
wlrjgzs2018-09-19 10:21
你这低级错误犯的
把以下代码
//2、创建集合用来装符合要求的随机数
    ArrayList<integer> Array = new ArrayList<integer>();

换成
//2、创建集合用来装符合要求的随机数
    ArrayList<Integer> Array = new ArrayList<Integer>();

也就是把integer换成Integer,第一个小写i换成大写I就可以了。因为JAVA不存在integer类型。
#3
wlrjgzs2018-09-19 10:24
有自动装箱也只能装成Integer,不能装成integer。
#4
bbenchu2018-09-19 20:28
回复 2楼 wlrjgzs
谢谢、谢谢,上班的时候想了一天了;真心无语!
#5
bbenchu2018-09-19 20:30
回复 3楼 wlrjgzs
希望有时间可以请教!(感觉有问题的时候比较多啊!
1