import java.util.ArrayList;
import java.util.Iterator;
@author
public class ForLoopTest {
@paramargs
public static void main(String[] args) {
double[] array = {2.5, 5.2, 7.9, 4.3, 2.0, 4.1, 7.3, 0.1, 2.6};
for(double d: array){
System.out.println(d);
}
System.out.println("---------------------");
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(7);
list.add(15);
list.add(-67);
for(Integer number: list){
System.out.println(number);
}
System.out.println("---------------------");
for(int item: list){
System.out.println(item);
}
System.out.println("---------------------");
MyIterableClass series = new MyIterableClass();
for(double d: series){
System.out.println(d);
}
}
}
class MyIterableClass implements Iterable<Double>, Iterator<Double>{
static final double CLOSE_TO_ZERO = 0.0001;
double value;
double factor = -0.5;
public MyIterableClass(){
value = 1.0;
}
public Iterator<Double> iterator(){
return this;
}
public boolean hasNext(){
return !(value > -CLOSE_TO_ZERO && value < CLOSE_TO_ZERO);
}
public Double next(){
double result = value;
value = value*factor;
return result;
}
public void remove(){
throw new UnsupportedOperationException("There is nothing to remove");
}
}