title: Loops and Stacks, palindrome homework assignment
body: <p>I'm working on an assignment for my programming class but I've run into some difficulty and I'm not sure where else to look. Basically the question asks that we write a program that checks for palindromes.</p>
  
  <ul>
  <li>The user enters text (No non-alphanumberic chars allowed.)</li>
  <li>The String is pushed one character at a time into a stack</li>
  <li>The characters are pulled one at a time out of the stack thus reversing the String</li>
  <li>If the original is the same as the reverse, we have a palindrome</li>
  </ul>
  
  <p>I'm having some trouble with my loops though and don't know where to go from here, does anyone have any advice or pointers? What am I doing wrong?</p>
  
  <p>Here's what I have so far.</p>
  
  <pre><code>import java.util.Stack;
  import java.util.regex.*;
  import javax.swing.*;
  
  public class Question1 {
  
      static Stack PDrome = new Stack();
  
      public static String Reverse (String input) {
          String reverse;
  
          if (input.length() &lt;= 1) {
              return input;
          }   
  
          //pushing onto the stack
          for (int i=0; i&lt;input.length();i++) {
              PDrome.push(input.charAt(i));
          }
  
  
          //popping from the stack into the string
          for (int i=0; i&lt;input.length(); i++) {  
              PDrome.pop()=reverse.charAt(i);
          }  
  
          return reverse;
      }
  
      //Illegal char check method
      public static boolean checker (String input) {
          Pattern p = Pattern.compile("[^a-z0-9]", Pattern.CASE_INSENSITIVE);
          Matcher m = p.matcher(input);
          boolean b = m.find();
  
          if (b) {
              System.out.println("There is a special character in your string");   
              System.exit(0);
          }   
  
          return b;    
      }
  
  
      //Main
      public static void main (String [] args) {
          //input
          String input = JOptionPane.showInputDialog("Enter text to check if it's a palndrome");
  
          //error case
          if (input==null); {
              System.out.println("Nothing Entered");
              System.exit(0);
          }
  
          //checking for illegal chars
          checker(input);
      }
  }
  </code></pre>