回文是指正向和反向拼写都一样的字符串。
第一种:
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str1 = scanner.next();
StringBuilder builder = new StringBuilder(str1);
System.out.println("builder:"+builder);
StringBuilder reverse = builder.reverse();
System.out.println("reverse:"+reverse);
String str2 = builder.toString();
if(builder.equals(reverse)){
System.out.println("回文");
}else {
System.out.println("不是回文");
}
}
用StringBuilder 里面的方法来算
第二种:
public static void main(String[] args){
System.out.println("请输入一个字符串:");
String str = scanner.next();
char[] ch = str.toCharArray();
boolean flag = true;
for(int i=0; i<ch.length/2; i++) {
if (ch[i] != ch[ch.length-i-1]){
flag = false;
}
}
if(flag){
System.out.println("回文");
}else {
System.out.println("不是回文");
}
}
把字符串转换成数组,再比较
第三种:
public static void main(String[] args){
System.out.println("输入");
String str4 = scanner.next();
if(Palind(str4)){
System.out.println("是回文");
}else {
System.out.println("不是回文");
}
}
public static boolean Palind(String str) {
str = str.toLowerCase();
int left = 0;
int right = str.length()-1;
while(left<right){
if(str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
用到了toLowerCase() 转换为小写字母
封装一个方法,方法里判断是否为回文