Write your name or username here: _______________________

Do this when you receive the paper.

Write a program that checks to see if a string of characters is a palindrome. A palindrome is a string the same way forwards and backwards (so, it's symmetric). See the examples below. Case sensitive comparison is used here. The input is a String (a line of text entered by the user). Feel free to use ConsoleReader to read lines from the user.

Here's how your program might work:

frilled.cs.indiana.edu%javac One.java
frilled.cs.indiana.edu%java One
Type> ama
Palindrome? Answer is: true
Type> Madam, I'm Adam. 
Palindrome? Answer is: false
Type> madamimadam
Palindrome? Answer is: true
Type> amanaplanacanal
Palindrome? Answer is: false
Type> amanaplanacanalpanama
Palindrome? Answer is: true
Type> done
frilled.cs.indiana.edu%
As you can see we're also sensitive with respect to the existence of spaces and so you should detect a palindrome only when the string of characters typed by the user is precisely symmetric, that is, reads the same way from one end (forwards) as it does from the other (backwards). Use the lab time to develop the program. You can use any notes or books you have including web notes. You are not allowed to communicate with anyone except the AIs. Ask questions if something is unclear to you and they will try to clarify it as much as they can. The can't and won't help you with the actual development of the program but they might be able to help to clarify anything that might result in a misunderstanding on your part.

When you're done turn the program in OnCourse under the Dropbox for the time and location of the exam even if you're from another section. Then write the program by hand on the back of this page and return it to the AI before you leave. I will grade this paper but I might refer to your posted code in OnCourse as well so please do both.

You can if you want turn in additional materials such as: pseudocode, flow charts, additional explanations of the code and/or the approach chosen. Be sure to solve as much as you can and to turn in a program in OnCourse at the end of the lab in addition to turning in the paper with your exam.

Good luck and do well.

class One {
    public static void main(String[] args) {
	ConsoleReader c = new ConsoleReader(System.in); 
	System.out.print("Type> "); 
	String line = c.readLine(); 
	while (! line.equals("done")) {
	    boolean palindrome = true; 
	    for (int i = 0; i < line.length(); i++) {
		if (line.charAt(i) != line.charAt(line.length() - 1 - i)) {
                    palindrome = false; 
		}
	    }
	    System.out.println("Palindrome? Answer is: " + palindrome); 
	    System.out.print("Type> ");
	    line = c.readLine();
	}
    }
}