我是java初学者 这个递归怎么改?求大神指点!

public class Action {
static int count = 0,i=0;
public static void digui(String num){
char[] num1 = num.toCharArray();
if(count if (num1[i]=='a') {
count++;
}i++;
digui(num);
}
if(i>=num1.length) return;
}

public static void main(String[] args) {
    digui("aaafdtfdsg");
    System.out.println("a的个数:"+count);

}

}

不需要递归,用循环即可处理,每次去判断字符是否等于a

if(count if (num1[i]=='a') 你这判断num1中的元素是否等于a这里,有点儿意思……

最好适应for循环来控制

for循环数组,再判断,true则+1

public static void main(String[] args) {
// TODO Auto-generated method stub
String inStr="abcaefa";
char[] num1 = inStr.toCharArray();
int n=dg(num1,0,0);
System.out.println(n);

}

public static int dg(char[] f,int n,int c){
    if((n+1)>f.length)
        return c;
    if(f[n]=='a')
        c++;
    n++;
    return dg(f,n,c);
}

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就OK了!