用于堆栈和队列的java字符串
我正在读一个字符串,但在它被推入堆栈并排队之前,我需要消除所有空格和标点符号,同时保持顺序
我是Java新手,已经尝试了下面的代码抛出异常:
for (int i = 0;i < input.length(); i++){
String character = Character.toString(input.charAt(i));
if (charChecker(character)){
stack.push(character);
queue.enqueue(character);
}
}
private static boolean charChecker (String character) {
if (character.equals(" ") || character.equals(".") ||
character.equals("?") || character.equals("!") ||
character.equals(",") || character.equals(";") ||
character.equals(":") || character.equals("-"))
return false;
else
return true;
}
int diff = 0;
for (int i = 0; i < input.length(); i++) {
String char1 = stack.pop();
String char2 = queue.dequeue();
if (!(char1.equalsIgnoreCase(char2))) {
diff++;
}
}
输出:
Enter file name: input1.txt
evil live
Exception in thread "main" java.util.EmptyStackException
at Stack.pop(Stack.java:22)
at Palindrome.main(Palindrome.java:57)
共 (0) 个答案