Solved

Taking punctuation marks and spaces out've a string

Posted on 2008-10-10
1
1,060 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 3

Accepted Solution

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

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

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

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 …
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…

622 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