Taking punctuation marks and spaces out've a string

I am writing some code where i have to reverse a word, place only alphabetical characters onto the stack and the queue, and convert all uppercase letters to lowercase and check to see if its a palindrome and im supposed to use a Queue and a Stack.


So my question is, how do i implement sometime of checking to make sure i only put alphabetical characters onto the stack?

The input file im using will only have spaces and punctuation marks.
import java.util.*;
import java.io.*;
import java.lang.*;
 
class LetterStack
	{
	private int maxSize;
	private char[] stackArray;
	private int top;
	
	public LetterStack(int max)
		{
		maxSize = max;
		stackArray = new char[maxSize];
		top = -1;
		}
	public void push(char j)
		{
		stackArray[++top] = j;
		}
	public char pop()
		{
		return stackArray[top--];
		}
	public char peek()
		{
		return stackArray[top];
		}
	public boolean isEmpty()
		{
		return (top == -1);
		}
	}
class Reverse
	{
	private String input;
	private String output;
	
	public Reverse(String in)
	{
	input = in;
	}
	public String doRev()
	{
	int stackSize = input.length();
	LetterStack tehStack = new LetterStack(stackSize);
	for(int j=0; j<input.length(); j++)
		{
		char ch = input.charAt(j);
		tehStack.push(ch);
		}
	output = "";
	while( !tehStack.isEmpty() )
		{
		char ch = tehStack.pop();
		output = output + ch;
		}
	return output;
	}
}
 
public class PalindromeApp{
	public static void main (String[] args) throws IOException{
		String input,output;
		Scanner inFile = new Scanner(new FileReader(args[0]));
		PrintWriter outFile = new PrintWriter(args[1]);
		while(inFile.hasNext())
			{
			input = inFile.nextLine();
			Reverse  tehReverse = new Reverse(input);
			output = tehReverse.doRev();
			if(input.equals(output))
				outFile.println("PALDINDROME");
			else
				outFile.println("NOT PALINDROME");
			}
		outFile.close();
		}
		
	}

Open in new window

austinemserAsked:
Who is Participating?
 
gcauthonCommented:
if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z') tehStack.push(ch);
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.