判断给定的字符序列是否是回文,回文是指一个字符序列以中间字符为基础,两边字符忽略大小写完全相同(10分)
判断回文多种方法:
不值得推荐方法:纯死脑筋做法
package jiCheng_duoTai;
import java.util.Scanner;
public class Test{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一行字符串:");
String s = sc.next();
boolean b = false;
char []c =s.toCharArray();
int i = c.length;
// System.out.println(i);
int k =i/2;
if(i%2==0) {
if(c[k]!=c[k-1])
b = false;
else {
int t = i;
for(int j=0;j<k-1;j++,t--) {
if(c[j]==c[t-1])
b = true;
else {
b = false;
break;
}
}
}
}else {
int t = i;
for(int j=0;j<k;t--,j++) {
if(c[j]==c[t-1])
b = true;
else {
b = false;
break;
}
}
}
if(b==false)
System.out.println("不是回文");
else
System.out.println("是回文");
sc.close();
}
}
也不推荐做法,还是有点low
import java.util.Scanner;
public class Sum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
char ch[] = s.toCharArray();
int i,j;
for(i=0,j=ch.length-1;i<=ch.length/2;i++,j--) {
if(ch[i]!=ch[j]){
System.out.println(s+"不是回文");
break;
}
}
if(i>ch.length/2)
System.out.println(s+"是回文");
sc.close();
}
}
StringBuffer和String之间的转换来做:推荐哦
import java.util.Scanner;
public class Sum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
StringBuffer sb = new StringBuffer(s);
sb.reverse();
String s2 = new String(sb);
char ch[] = s.toCharArray();
char hh[] = s2.toCharArray();
int i;
for(i=0;i<=ch.length/2;i++) {
if(ch[i]!=hh[i]) {
System.out.println(s+"不是回文");
break;
}
}
if(i>ch.length/2) {
System.out.println(s+"是回文");
}
}
}