zoukankan      html  css  js  c++  java
  • 递归方法(回文)

    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 }

  • 相关阅读:
    UVA 11995
    LA 5031
    防卫导弹
    跳马问题
    UVA 11992
    POJ 3264 Balanced Lineup
    0-1背包
    石子合并
    小技巧
    Android广播中有序和无序的区别
  • 原文地址:https://www.cnblogs.com/dinghaisheng/p/9788394.html
Copyright © 2011-2022 走看看