回文问题,求助
class TJ4_5{
public static void main(String args[]){
String s="Madam I'm Adam",s2,s3,s4;
char a[]=s.toCharArray(),temp;
char s1[]=new char[s.length()];
char c[]=new char[s.length()];
char d[]=new char[s.length()];
for(int i=0;i<s.length();i++){
if(Character.isLetterOrDigit(a[i])){
s1[i]=a[i];
}
}
s2=new String(s1);
if(s2.length()%2==0){
s2.getChars(0,s2.length()/2,c,0);
s2.getChars(s2.length()/2,s2.length(),d,0);
System.out.println(c); //交换前的c字符串
System.out.println(d); //交换前的c字符串
}
else{
s2.getChars(0,s2.length()/2,c,0);
s2.getChars(s2.length()/2+1,s2.length(),d,0);
System.out.println(c); //交换前的c字符串
System.out.println(d); //交换前的d字符串
}
for(int i=0;i<d.length/2;i++){
temp=d[i];
d[i]=d[d.length-i-1];
d[d.length-i-1]=temp;
}
s3=new String(c);
s4=new String(d);
System.out.println(s4);
if(s3.equalsIgnoreCase(s4)){
System.out.println("是回文");
}
else{
System.out.println("不是回文");
}
}
}
这个程序在字符串转化为数组之后,数组长度一直是14(字符串的长度),为什么在把a数组赋给s1数组之后长度还是没有变化?请问应该如何更改程序,才能是结果正常?