package test;
import java.util.Scanner;
public class project1 {
public static void main(String []args) {
Scanner input=new Scanner(System.in);
System.out.println("please input a string:");
String str=input.nextLine();
boolean result=isPalindrome(str);
if(result)
System.out.println(str+" is a palindrome");
else
System.out.println(str+" is not a palindrome");
}
public static boolean isPalindrome(String str) {
int low=0;
int hight=str.length()-1;
while(low<=hight) {
if(str.charAt(low)!=str.charAt(hight))
return false;
low++;
hight--;
}
return true;
}
}
递归思想判断回文数
(1)字符串的大小是0或1,字符串是回文数
(2)检查字符串中第一个字符和最后一个字符是否相等
(3)忽略两端已经检查的两个字符,检查其余的子串的其余部分是否是回文串
package test;
import java.util.Scanner;
public class project1 {
public static void main(String []args) {
Scanner input=new Scanner(System.in);
System.out.println("please input a string:");
String str=input.nextLine();
boolean result=isPalindrome(str);
if(result)
System.out.println(str+" is a palindrome");
else
System.out.println(str+" is not a palindrome");
}
public static boolean isPalindrome(String str) {
if(str.length()<=1)
return true;
else if(str.charAt(0)!=str.charAt(str.length()-1))
return false;
else
return isPalindrome(str.substring(1, str.length()-1));
}
}