새로운 클래스의 for 루프를 사용하려고합니다. 까지 한 번호에서 인쇄 할 간단한 Java 프로그램을 만들었습니다. 다른 하나. 내가 루프 여기 의의 묘리를 터득 할 수없는 것은 내가 그것을 테스트하기 위해 만든 샘플 코드입니다 :for 루프를 사용하여 Java의 새 클래스를 반복합니다.
import java.util.Iterator;
public class Try {
public static void main(String[] args) {
for (int i : new IntegerLoop(1, 9)) {
System.out.print(i + " ");
}
System.out.println();
for (int i : new IntegerLoop(-3, 3)) {
System.out.print(i + " ");
}
System.out.println();
}
}
이 바로 첫 번째와 마지막 숫자가 를 출력 처리하는 IntergerLoop 클래스입니다 import java.util.Iterator; 당신이 iterator
방법에서 null
를 반환하기 때문에
public class IntegerLoop implements Iterable<Integer>, Iterator<Integer> {
int first, last;
int nextInt;
public IntegerLoop(int f, int l) {
first = f;
last = l;
nextInt = first;
}
public boolean hasNext() {
return nextInt >= first && nextInt <= last;
}
public Integer next() {
if (hasNext()) {
int result = nextInt; // needs Iterator
nextInt++;
return result;
}
return null;
}
@Override
public void remove() {
// TODO Auto-generated method stub
}
@Override
public Iterator<Integer> iterator() {
// TODO Auto-generated method stub
return null;
}
}
문제는 무엇인가? – Marv
Iterables도 Iterators가 될 수 없다. iterator() 메서드는 매번 새로운 반복자를 반환해야합니다. –
'new Class()가 코드와 관련이있는 것 (작동하지 않을 것)은 무엇입니까? – August