Class Assignment Question

Why am i getting wrong answer??

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
public static void main(String args[]){
char ch[]={‘a’,‘b’};
String str="";
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
for(int i=0;i<t;i++){
int n=sc.nextInt();
ArrayList lst=new ArrayList<>();
fun(ch,"",0,n,lst);
str+= “#”+n+" : “+lst.size()+”\n";
}
System.out.println(str);

}

//static int count=0;
public static void fun(char ch[],String ans,int csf,int n,ArrayList lst){
//count++;

    if(csf==n)
    {
        //System.out.println(ans+" "+count);
        lst.add(ans);
        return;
    }

    fun(ch,ans+ch[0],csf+1,n,lst);
    if(csf==0)
    fun(ch,ans+ch[1],csf+1,n,lst);
    if(csf>=1)
        if(!ans.substring(ans.length()-1).equals("b"))
            fun(ch,ans+ch[1],csf+1,n,lst);

}

}