递归方法(回文)
2018-10-14 22:19 一念永恒s 阅读(715) 评论(0) 编辑 收藏 举报
1. 设计思想:首先字符串的输入运用nextInt转换,进行输入即可,在主函数中完成定义,用length来判断长度,charAt来接受字符,通过递归的方法来判断对应位置的值是否一样,当两者一样,进行一次判断,只有一个字符就是回文
2. 流程图:
3. 源代码:
1 package 回文; 2 import java.util.*; 3 public class huiwen { 4 5 public static void main(String[] args) { 6 // TODO 自动生成的方法存根 7 System.out.println("请输入字符串:"); 8 Scanner reader=new Scanner(System.in); 9 String str=reader.next(); 10 int n=str.length();//测定字符串的长度,区分数组判断长度 11 int m=huiwen(str,n); 12 if(m==1) 13 System.out.println("这个字符串是回文字符串!"); 14 else 15 System.out.println("这个字符串不是回文字符串!"); 16 } 17 public static int huiwen(String str,int n) { 18 19 int a,b,j=0; 20 char c1,c2; 21 a=str.length()-n;//控制进程 从第一个开始正向移动 22 b=str.length()-(a+1);//从最后一个开始倒着移动 23 c1=str.charAt(a);//取字符串的函数 24 c2=str.charAt(b); 25 if(c1==c2||a==b) j=1;//判断 如果相应的字符一样 j=1 26 if(a!=b&&a<b&&j==1) 27 huiwen(str,n-1);//递归 判断下一对字符 并且a和b正向判断一次后就不必让a和b走到尽头继续判断 28 return j; 29 } 30 }