Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Taking punctuation marks and spaces out've a string

Posted on 2008-10-10
1
Medium Priority
?
1,066 Views
Last Modified: 2012-05-05
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

0
Comment
Question by:austinemser
1 Comment
 
LVL 3

Accepted Solution

by:
gcauthon earned 2000 total points
ID: 22690636
if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z') tehStack.push(ch);
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
Suggested Courses

963 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question