所谓回文即数字或字符串正序和倒序的结果相同,即为回文字符串或回问数字;
例如:123454321 回文数字
asdffdsa 回文字符串
1 判断是否是回文数字
public static void main(String[] args) { int num = 1111211; System.out.println(HuiWen.isPail(num)); } public static String isPail(int num){ if(num<0){ return "N"; } if(num<10){ return "N"; } while(num>10){ int base = 1; while(num/base>=10){//用于求出 数字的最左侧数字 base*=10; } int left; int right; left = num /base; right = num%10; //取余求出右侧数字 if(left!=right){ return "N"; } num-=base*left; //去掉最左端数字 base /=10; num/=10;//去掉最右侧数字 } return "Y"; }
2 判断回文字符串
此方法要考虑字符串不能过长,否则会溢出;导致判断结果不正确。
public static String isPail(String str){ StringBuffer ber = new StringBuffer(str); String stt = ber.reverse().toString(); if(str.equals(stt)){ return "Y"; }else{ return "N"; } }