回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。编写一个程序,判定给定的字符序列是否为回文。
*注:如果输入的不是字母或者数字,请过滤。
可以考虑使用StringBuilder来存储字符串,这样便于后续的处理。*
输入格式:
输入待判断的字符序列,按回车键结束。
输出格式:
若字符序列是回文,输出“true”;否则,输出“false”。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
char s[] = str.toCharArray();
s = gl(s);
hw(s);
}
public static char[] gl(char[] a)
{
int j = 0;
for( int i = 0 ; i < a.length ; i++)
{
if(a[i] >= '0' && a[i] <= '9' || a[i] >= 'a' && a[i] <= 'z' || a[i] >= 'A' && a[i] <= 'Z')
a[j++] = a[i];
else
continue;
}
char b[] = new char[j];
for( int i = 0 ; i < b.length ; i++)
{
b[i] = a[i];
}
return b;
}
public static void hw(char[] s)
{
int right = s.length -1;
int flag = 1;
for (int left = 0; left < right; left ++, right --)
{
if (s[left] != s[right])
{
flag = 0;
break;
}
}
if(flag == 0)
System.out.println("false");
else
System.out.println("true");
}
}