IterableString.java Source code

Java tutorial

Introduction

Here is the source code for IterableString.java

Source

import java.util.Iterator;
import java.util.NoSuchElementException;

// This class supports iteration of the 
// characters that comprise a string.
class IterableString implements Iterable<Character>, Iterator<Character> {
    private String str;

    private int count = 0;

    public IterableString(String s) {
        str = s;
    }

    // The next three methods implement Iterator.
    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();
    }

    // This method implements Iterable.
    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.println(ch);
        }
    }
}