package lectures.iterator_scanning;
import util.annotations.WebDocuments;
@WebDocuments({"Lectures/IteratorScanning.pptx", "Lectures/IteratorScanning.pdf", "Videos/IteratorScanning.avi"})
public class MonolithicForwardReverseUpperCasePrinter {
static final int MAX_CHARS = 5;
static char[] upperCaseLetters = new char[MAX_CHARS];
static int numberOfUpperCaseLetters = 0;
public static void main(String[] args){
int index = 0;
System.out.println("Upper Case Letters:");
while (index < args[0].length()) {
if (Character.isUpperCase(args[0].charAt(index))) {
System.out.print(args[0].charAt(index));
storeChar(args[0].charAt(index));
}
index++;
}
System.out.println();
printReverse();
}
public static void storeChar(char c) {
if (numberOfUpperCaseLetters == MAX_CHARS) {
System.out.println("Too many upper case letters. Terminating program. ");
System.exit(-1);
}
upperCaseLetters[numberOfUpperCaseLetters] = c;
numberOfUpperCaseLetters++;
}
public static void printReverse() {
System.out.println("Upper Case Letters in Reverse:");
for (int index =numberOfUpperCaseLetters - 1; index >= 0; index--) {
System.out.print(upperCaseLetters[index]);
}
System.out.println();
}
}