Next: None. Up: More about loops. Previous: On the usefulness thereof.
(This has nothing to do with anything of the above.)
Consider the following Tokenizer class to help with finding a sequence of words within a string. (You'll need to copy and paste this into BlueJ.)
public class Tokenizer {
    private String remaining; // words yet to be returned
    // (Constructor method) Constructs a Tokenizer for extracting
    // a sequence of words from !sentence!.
    public Tokenizer(String sentence) {
        remaining = sentence;
    }
    // Returns the next word found in the sentence.
    public String nextToken() {
        int space = remaining.indexOf(" ");
        if(space < 0) {
            // no more spaces are in the string; this is the last word
            String ret = remaining;
            remaining = "";
            return ret;
        } else {
            // take the first word off the string and return it
            String ret = remaining.substring(0, space);
            remaining = remaining.substring(space + 1);
            return ret;
        }
    }
    // Returns true if there are any more words remaining in the
    // sequence yet to be returned.
    public boolean hasMoreTokens() {
        return !remaining.equals("");
    }
}
Using this Tokenizer class, write a new class FindBWords containing a run() class method, which reads a line from the user and prints the words within it that begin with a capital B.
Beware the Jubjub Bird and shun the frumious Bandersnatch. Beware Bird Bandersnatch END OF WORDS
Next: None. Up: More about loops. Previous: Exercise.