黑马程序员技术交流社区

标题: 纠错! [打印本页]

作者: 刘进朝    时间: 2012-9-27 09:42
标题: 纠错!
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());
                }
               
        }
}

怎么写才是正确的??
作者: 夏天    时间: 2012-9-27 09:57
本帖最后由 夏诗瑶 于 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());
                }

        }
}

作者: 刘学    时间: 2012-9-27 10:47
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());
                }
               
        }
}


作者: 明光照    时间: 2012-9-27 11:21
老兄用个工具软件编写啊。MyEclipse,eclipse,jCreator,netBean,Intellij IDEA.这么多的开发工具。没有我传给你啊。还有,主类请写成public;在javar在类库中真的没有看到一个方法的首字母是大写的。再while里面是一个逻辑表达式。好好看一下毕老师的视频啊
作者: 黄佳    时间: 2012-9-27 11:53
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);

                }
               
        }
}
作者: 刘进朝    时间: 2012-9-30 19:24
问题已解决。
作者: 黄小贝    时间: 2012-9-30 21:53
有一种更简洁的写法,从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. }
复制代码

作者: hakuna_matata    时间: 2012-10-1 10:01
深表同情,刚开始学应该都这样么? 哥们加油.兄弟也是从这步走出去的.我就不说怎么写了.楼上版本很多..我只是说下你的错误


第一:在编写代码的时候,记得把格式规范清楚.
第二:你定义ArrayList变量名的时候是arr,但是你后面写的是array.而且iterator()是一个方法.方法的首字母一般都是小写
第三:循环的时候it hasNext   jvm不知道你想干什么.  
   老毕说过.有错误的地方,也就是你成长的地方.好好努力




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