public classDemo6 { /** * 编写程序,递归实现回文判断(如:abcdedbca就是回文,并测试 思路:第一个数和最后一个数相等 1.判断,下标为0 与下标为length-1的是否相等 2,如果相等,则继续判断下标为 1 和下标为length-2 */ public static void main(String[] args) { // TODO Auto-generated method stub Scannersc = newScanner(System.in); System.out.println("请输入一个字符串"); Stringstr = sc.nextLine(); //将字符串变成字符数组 传入递归判断函数中,传的是字符数组的第一个和最后一个元素 boolean num =huiwen( str.toCharArray(), 0, str.length() - 1); System.out.println(num); } public static boolean huiwen(char[] chararr,int i,int j) { if (i<j) { if(chararr==chararr[j]) {//判断这两个是否相等 如果相等则 return huiwen(chararr,++i,--j);//返回这个字符数组下标0+1 和 length-1 对比 } return false;//如果不想等 则返回 false } return true;//只剩下一个元素 或者都相等 返回 true } }
看看还有什么其它的方法,我这是递归的算法{:2_36:}
|