7-2 队列实现回文

编写一个程序判断一个字符串是否是回文。回文是指一个字符序列以中间字符为基准两边字符完全相同,如字符序列"ABCDEDCBA"就是回文,而字符序列"ABCDEDBAC"就不是回文。空格不计入字符

输入格式:
输入字符串如:"12321"或"1 2 32 1"

输出格式:
若是回文则输出"该字符串是回文字符串",否则输出"该字符串不是回文字符串"。

输入样例:
在这里给出一组输入。例如:

12321

输出样例:
在这里给出相应的输出。例如:

该字符串是回文字符串
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
queueq=new queue<>(1000);
String S=sc.nextLine();
String s1=" ",s2=" ";
for(int i=0;i<S.length();i++){
if(S.charAt(i)!=' '){
q.push(S.charAt(i));
}
}
for(int i=0;i<S.length()/2;i++){
s1+=q.popFirst();
s2+=q.popLast();
}
if(s1.equals(s2)){
System.out.println("该字符串是回文字符串");
}
else{
System.out.println("该字符串不是回文字符串");
}
}
public static class queue{
int capacity;
int head=0;
int tail=0;
E array[];
public queue(int capacity1){
this.capacity=capacity1;
array=(E[])new Object[capacity1+1];
}
public boolean push(E value){
array[tail]=value;
tail=(tail+1)%array.length;
return true;
}
public E popFirst(){
E p=array[head];
head=(head+1)%array.length;
return p;
}
public E popLast(){
if(tail-1<0){
tail=tail-1+array.length;
}
E p=array[tail-1];
tail=tail-1;
return p;
}
}
}