代码改变世界

递归方法(回文)

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 }