还是java题

来源:百度知道 编辑:UC知道 时间:2024/06/22 10:50:22
编写一个程序,运用一个堆栈判断一个字符串是否为回文(指顺读和反读都一样的字符串)。程序应该忽略空格和标点。
哪位高手帮忙做下,小弟感激不尽

楼上由于没有编译器所以有些错误.
而且没检查全标点. 可以正则表达式检查.

import java.util.Stack;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HuiWen {

public static void main(String[] args){
String a = "abcd33ef";
String b = "fe33 d , cba";

Stack myStack1 = new Stack();
Stack myStack2 = new Stack();
Stack tempStack = new Stack();

Pattern pattern=Pattern.compile("[a-zA-Z0-9]");
Matcher matcher=pattern.matcher(a);
Matcher matcher2=pattern.matcher(b);

while(matcher.find()) {
myStack1.push(matcher.group());
}

while(matcher2.find()) {
myStack2.push(matcher2.group());
}

for(int i = (myStack2.size()-1); i>= 0; i--){
tempStack.push(myStack2.get(i));
}

if(myStack1.equals(tempStack)==true){
System.out.println