A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘进朝 中级黑马   /  2012-9-27 09:42  /  2549 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.ArrayList;
import java.util.Iterator;

class ArrayListDemo{
        public static void main(String[] args){
                ArrayList arr= new ArrayList();
                                    arr.add(1);
                                        arr.add(2);
                                        arr.add(3);
                                       
                Iterator it = array.Iterator();
                while(it hasNext()){
                        System.out.println(it.next());
                }
               
        }
}

怎么写才是正确的??

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 国庆快乐

查看全部评分

7 个回复

倒序浏览
本帖最后由 夏诗瑶 于 2012-9-27 10:00 编辑

import java.util.ArrayList;
import java.util.Iterator;

class ArrayListDemo {
        public static void main(String[] args) {
                ArrayList arr = new ArrayList();
                arr.add(1);
                arr.add(2);
                arr.add(3);

                Iterator it = arr.iterator();//首先,是对ArrList的对象arr迭代的,而不是array。然后 你这iterator()方法应该是小写
                while (it.hasNext()) {   //再然后是迭代的对象有下一个元素的话, 所以 it 后面应该有个.
                        System.out.println(it.next());
                }

        }
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 国庆快乐

查看全部评分

回复 使用道具 举报
import java.util.ArrayList;
import java.util.Iterator;

class ArrayListDemo{
        public static void main(String[] args){
                ArrayList arr= new ArrayList();
                                    arr.add(1);
                                        arr.add(2);
                                        arr.add(3);
                                       
                Iterator it = array.iterator();   //是的,是这里写错了,你这array是什么?失误了吧,应是  ArrayList arr= new ArrayList();中的arr
                while(it hasNext()){        //这里应该用迭代器调用hasNext()方法,缺一个.   应为it. hasNext()   ,
                        System.out.println(it.next());
                }
               
        }
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 国庆快乐

查看全部评分

回复 使用道具 举报
老兄用个工具软件编写啊。MyEclipse,eclipse,jCreator,netBean,Intellij IDEA.这么多的开发工具。没有我传给你啊。还有,主类请写成public;在javar在类库中真的没有看到一个方法的首字母是大写的。再while里面是一个逻辑表达式。好好看一下毕老师的视频啊
回复 使用道具 举报
mport java.util.ArrayList;
import java.util.Iterator;

class ArrayListDemo{
        public static void main(String[] args){
                ArrayList arr= new ArrayList();
                                        arr.add(1);
                                        arr.add(2);
                                        arr.add(3);
                                       
                Iterator it = array.Iterator();             //array 没有声明.  这里应该是 arr调用 iterator 方法 ,  不是 Iterator 方法 ,改成   Iterator it = arr.iterator();
                while(it hasNext()){                         //这里应该是 it.hasNext  打点调用   少了一个 .
                        0bject   obj = it.next();            //这里需要用一个数据类型去接受 next() 方法返回的数据,  一般在不太明确类型的时候 用Object 去接受或者进行强转
                        System.out.println(obj);

                }
               
        }
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 国庆快乐

查看全部评分

回复 使用道具 举报
问题已解决。
回复 使用道具 举报
有一种更简洁的写法,从spring里面看到的
  1. import java.util.ArrayList;
  2. import java.util.Iterator;
  3. import java.util.List;

  4. public class ArrayListDemo {

  5.         public static void main(String[] args) {
  6.                
  7.                 List<Object> arr = new ArrayList<Object>();
  8.                
  9.                 arr.add(1);
  10.                 arr.add(2);
  11.                 arr.add(3);
  12.                
  13.                 for(Iterator<Object> it = arr.iterator();it.hasNext();){
  14.                         System.out.println(it.next());
  15.                 }

  16.         }
  17. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 国庆快乐

查看全部评分

回复 使用道具 举报
深表同情,刚开始学应该都这样么? 哥们加油.兄弟也是从这步走出去的.我就不说怎么写了.楼上版本很多..我只是说下你的错误


第一:在编写代码的时候,记得把格式规范清楚.
第二:你定义ArrayList变量名的时候是arr,但是你后面写的是array.而且iterator()是一个方法.方法的首字母一般都是小写
第三:循环的时候it hasNext   jvm不知道你想干什么.  
   老毕说过.有错误的地方,也就是你成长的地方.好好努力
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马