如何实现next()方法

时间:2018-10-23 18:02:29

标签: java

试图弄清楚如何使用Doublearray方法遍历next() hasNext()以查看下一个元素中是否存在值。

2 个答案:

答案 0 :(得分:1)

您必须添加一个计数器来确定当前位置。在hasNext方法中,检查项目是否在范围内。

public class ArraySource {
private Double[] source;
private int position=0;
public ArraySource(Double[] a){

source = a;
}


public Double next(){
    return source[position];

}        

public boolean hasNext(){
    if(position++>=source.length-1){
        position=0;
        return false;
    }
    else{
        return true;
    }
}

}

示例:

    public static void main(String[] args) {
    Double a[]= {2.3,43.4,3.4,4.5,53.0};
    ArraySource as = new ArraySource(a);
    while(as.hasNext()){
        System.out.println(as.next());
    }
}

答案 1 :(得分:0)

hasNext()方法用于进行布尔检查,是否可以移动到下一个实例。您将需要一个游标(一个计数器)。 next()方法实际上是移动光标并获取下一个值。我会用谷歌搜索迭代器和可迭代的工作方式,以便更好地理解。

public boolean hasNext(){ if(cursorposition < sizeofstructure){return true;}else{return false;}

public E next(){if(hasNext()){return structure[cursor];}else{throw new Exception();}

所以它的想法是确认下一个位置是对还是错,然后next()实际上会