| 
     
 
import java.util.Iterator; 
import java.util.NoSuchElementException; 
 
 
class IterableString implements Iterable<Character>,  
                             Iterator<Character> {  
  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<Character> 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();  
  }   
} 
 
 
            
        
    
    |