Java程序判断给定的字符串是否为回文

时间:2020-01-09 10:35:23  来源:igfitidea点击:

在本文中,我们将介绍如何编写Java程序来检查给定的字符串是否为回文。

如果将一个字符串反向转换为回文,例如妈妈malayalam,则称该字符串为回文。

是否给出String Palindrome – Java程序

为了找到给定的字符串在Java中是否为回文,我们可以使用StringBuider类的reverse()方法来反转String,然后将其与原始String进行比较。如果两者相同,则传递的字符串为回文。

如果明确要求我们不要在Java中使用任何内置方法,则可以通过向后读取传递的字符串来构建反向字符串。在下面的Java程序解决方案中,使用了以上两个选项。

public class Palindrome {

	public static void main(String[] args) {
		checkPalindromeReverse("malayalam");
		checkPalindromeReverse("code");
		System.out.println("------------");
		checkPalindrome("mom");
		checkPalindrome("12321");
		checkPalindrome("test");
	}
	
	// Method using StringBulider class reverse method
	private static void checkPalindromeReverse(String str){
		StringBuilder sb = new StringBuilder(str);
		// reverse the string and compare with original 
		// to check if strings are same
		if(str.equalsIgnoreCase(sb.reverse().toString())){
			System.out.println(str + " is a Palindrome");
		}else{
			System.out.println(str + " is not a Palindrome");
		}       
	}
	
	private static void checkPalindrome(String str){
		StringBuilder sb = new StringBuilder();
		// read string backward
		for(int i = str.length() - 1; i >= 0; i--){
			sb.append(str.charAt(i));
		}            
		if(str.equalsIgnoreCase(sb.toString())){
			System.out.println(str + " is a Palindrome");
		}else{
			System.out.println(str + " is not a Palindrome");
		}
	}
}

输出量

malayalam is a Palindrome
code is not a Palindrome
------------
mom is a Palindrome
12321 is a Palindrome
test is not a Palindrome