本帖最后由 王磊 于 2013-7-27 16:34 编辑
- <div class="blockcode"><blockquote>package test;
- public class JungleString {
- /**
- *用迭代的方法,判断是不是一个回文字符串,如”abdba”
- */
- public static void main(String[] args) {
-
-
-
- System.out.println(Jungle("abcdedcba"));
- }
- private static boolean Jungle(String str) {
-
- boolean flag = true;//出口判断标记,用这个标记来接收递归调用时的返回值
- while(str.length()>1){
-
- int strlength=str.length();
- char start=str.charAt(0);
- char end=str.charAt(strlength-1);
- if(start==end)
- {
- String str1=str.substring(1, strlength-1);
- System.out.println(str1);
- flag = Jungle(str1);
- //return flag;可在这里定义出口
- }
- else
- {
- return false;
- }
-
- if(flag)//递归出口,在这里定义出口只是为了说明下问题,实际可以不需要在这里判断,直接在注释掉的位置加return。
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- return flag;
- }
-
- }
复制代码 帮楼主的程序改了一下,不知道楼主是不是要实现这个功能。
楼主的递归出口定义错了。应该用方法的返回值做递归出口。
。。。看楼主的名字,不仔细看还以为和我重名了呢。。。呵呵
|