2 u012842046 u012842046 于 2014.12.07 18:56 提问

java循环匹配递归的问题

wuxian递归的问题
wuxian递归的问题wuxian递归的问题wuxian递归的问题
wuxian递归的问题wuxian递归的问题
wuxian递归的问题
wuxian递归的问题wuxian递归的问题
wuxian递归的问题

2个回答

u012842046
u012842046   2014.12.07 19:03
已采纳

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
private static void digui(String displayName, ArrayList<ArrayList<String>> object, int flag) {
        // TODO Auto-generated method stub
        Log.d("hehe""每次进来flag="+flag);
        if (flag > object.size()) {
            return;
        }
        //displayName博达波打安 //bda //object{博,波}{打,达}{安}
        ArrayList<String> value = object.get(flag);
        for (int i = 0; i < value.size(); i++) {// 博 波
            Log.d("hehe""flag =====" + flag);
            Log.d("hehe""value =====" + value);
            displayName = flag == 0 ? mDisplayName : displayName;
            Log.d("hehe""displayName=" + displayName+";mDisplayName="+mDisplayName);
            int pos = displayName.indexOf(value.get(i));
            Log.d("hehe""值=" + value.get(i) + ",pos=" + pos);
            if ((flag == 0) || (flag > 0 && pos == 0)) {
                if (flag == object.size() - 1) {
                    Log.d("hehe""return!!!!!!!!!!!!!!!!!!!!!!!" + flag);
                    return;
                }
                flag = flag + 1;
                String subStr = displayName.substring(pos + value.get(i).length());
                Log.d("hehe""剩余subStr=" + subStr + ",flag=" + flag);
                digui(subStr, object, flag);// 达 打 、、安
            }
        }
        //Log.d("hehe", "js*********************"+flag);
    }
    

不好意思代码这么来贴

eagleyan
eagleyan   Rxr 2014.12.08 11:01

这是基本的java问题啊,flag是值拷贝,你在函数里无论怎么改变,出来当然不对,

private static int digui(String displayName, ArrayList> object) {
int flag = 0;
...
return flag;

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java之递归循环与递归
java之递归循环与递归1.程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
JAVA中循环的递归问题
//int j=0; private void xuhao() { for (int j = 0; j System.out.println("请输入第" + (j+1) + "辆车的序号:"); Scanner x = new Scanner(System.in); int zu = x.nextInt(); if (zu>0&&zu
java循环用法
java循环用法java循环用法java循环用法java循环用法
java递归算法中的排列组合问题及排列组合去重
之前学习递归算法的时候一直来不及总结一下,也花了一些时间去理解排列组合中的实现问题,现在总结一下,希望对大家能有帮助 1. 排列问题 问题:由a、b、c三个字母随机组成的所有排列情况 思路:首先 先确定第一位字母,例如确定了a,则情况就变成了a与剩下两位字母的随机组合,这里就是递归实现,自身实现自身方法。当列出了所以以a为启示的情况后,a与b交换 ,交换后仍然是递归方法。之后a与c进行交换。
Java循环读取1指定目录下的文件.doc
Java循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.docJava循环读取1指定目录下的文件.doc
JAVA学习笔记5——for循环+循环训练题+break、continue+方法概述+递归调用
最近在看JAVA教学的视频,觉得老师讲的很好,同时借用源代码还有笔记来撰写本系列博客,记录自己的学习内容,同时也供看到的人学习。 回家的前两天正值周末,所以····嘿嘿懂得~ 今天继续写第5篇,从这篇开始就会涉及一些实用的训练题,这些在学习中是很必要的哦~ 上篇的末尾写到了while循环,那么这篇开头就介绍一下最最常用的for循环,for循环其实学过C的同学再熟悉不过了,它其实相当于一种灵活
Gulp .src() 匹配模式详解
1. 基本原理 2. 语法:gulp.src(globs[, options]) 3. 匹配模式 1. 基本原理 Gulp是以 Nodejs中的stream(流) 为媒介,不需要像 Grunt 那样频繁的生成临时文件 首先获取到需要的stream, 然后通过 stream 的 .pipe() 方法把流导入到 Gulp的插件中 经过插件处理后的流又可以继续导入到其他插件中, 最后...
java中的递归方法和for循环
java中的递归方法 一、含义       递归算法是一种直接或间接地调用自身的算法。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。 二、例子   99乘法表的例子   1:普通实现99乘法表太简单,是个程序员都会,实现如下: 1 2 3 4 5 6 7 8 9 10 11 12 13
正则表达式--递归匹配与非贪婪匹配
1. 表达式的递归匹配    有时候,我们需要用正则表达式来分析一个计算式中的括号配对情况。比如,使用表达式 "/( [^)]* /)" 或者 "/( .*? /)" 可以匹配一对小括号。但是如果括号 内还嵌有一层括号的话 ,如 "( ( ) )",则这种写法将不能够匹配正确,得到的结果是 "( ( )" 。类似情况的还有 HTML 中支持嵌套的标签如 " " 等。本节将要讨论的是,想办法把有
java For循环优化的几点小技巧
完成同样的功能,用不同的代码来实现,性能上可能会有比较大的差别,所以对于一些性能敏感的模块来说,对代码进行一定的优化还是很有必要的。今天就来说一下java代码优化的事情,今天主要聊一下对于for(while等同理)循环的优化。作为三大结构之一的循环,在我们编写代码的时候会经常用到。循环结构让我们操作数组、集合和其他一些有规律的事物变得更加的方便,但是如果我们在实际开发当中运用不合理,可能会给程序的...