import java.util.Iterator;
import java.util.NoSuchElementException;
class IterableString implements Iterable,
Iterator {
private String str;
private int count = 0;
IterableString(String s) {
str = s;
}
public boolean hasNext() {
if(count < str.length()) return true;
return false;
}
public Character next() {
if(count == str.length())
throw new NoSuchElementException();
count++;
return str.charAt(count-1);
}
public void remove() {
throw new UnsupportedOperationException();
}
public Iterator iterator() {
return this;
}
}
public class MainClass {
public static void main(String args[]) {
IterableString x = new IterableString("This is a test.");
for(char ch : x)
System.out.print(ch);
System.out.println();
}
}