package com.jian.action;
public class Action {
static int count = 0,i=0;
public static void digui(String num){
char[] num1 = num.toCharArray();
if(count<num1.length-1){
if (num1[i]=='a') {
count++;
}i++;
System.out.println(i);
digui(num);
}
}
public static void main(String[] args) {
digui("aaafdtfdsg");
System.out.println("a的个数:"+count);
}
}
你一直在执行d igui(num); num未曾改变
递归要设置返回条件…
if满足某个条件,return一下,你那个死循环了
digui函数里面加个这
if(i>=num1.length) return;
就可以了
计算a的个数为什么要用递归呢?直接遍历那个char数组就可以数出来啊,如果为了学习递归,还是换一个例子,比如汉诺塔,阶乘等
你这个是个死循环啊
for遍历数组,再判断
package com.jian.action;
public class IndexOf {
static int count = 0,i=0;
public static void digui(String num){
char[] num1 = num.toCharArray();
if(i<num1.length-1){
if (num1[i]=='a') {
count++;
}i++;
digui(num);
}
}
public static void main(String[] args) {
digui("aaafdtfdsg");
System.out.println("a的个数:"+count);
}
}
这样就出来了,把count改成i来判断!