package lectures.iterator_scanning;
import util.annotations.WebDocuments;
@WebDocuments({"Lectures/IteratorScanning.pptx", "Lectures/IteratorScanning.pdf", "Videos/IteratorScanning.avi"})
public class AnUpperCaseIterator implements CharIterator{
String string;
int nextElementPos = 0;
public AnUpperCaseIterator(String theString) {
string = theString;
skipNonTokenCharacters();
}
public boolean hasNext() { return nextElementPos < string.length();}
public char next () {
char retVal = getToken();
movePastCurrentToken();
skipNonTokenCharacters();
return retVal;
}
void movePastCurrentToken() {nextElementPos++;}
void skipNonTokenCharacters() {
while (hasNext() && !Character.isUpperCase(string.charAt(nextElementPos)))
nextElementPos++;
}
char getToken() { return string.charAt(nextElementPos);}
}