Você estava colocando o argumento dentro do método de forma errada:
public class HuxleyCode {
public static void main(String args[]) {
int n = ocorrencia("maracatu",'a')
;
System.out.println(" " + n);
}
private static int ocorrencia(String s, char c) {
if (s.equals("")) {
return 0;
} else if (s.charAt(0) == c) {
return ocorrencia(s.substring(1), c) + 1;
} else {
return ocorrencia(s.substring(1), c);
}
}
}
E evite colocar um titulo tão grande na pergunta e o termo ME AJUDA
import java.util.Scanner;
public class HuxleyCode {
public static void main(String args[]) {
int n = 0;
String palavra;
char letra;
Scanner ler = new Scanner(System.in);
System.out.printf("Informe uma palavra simples:\n");
palavra = ler.next();
System.out.printf("Informe uma letra para verificar a ocorrencia:\n");
letra = ler.next().charAt(0);
n = ocorrencia(palavra, letra);
System.out.printf("Quantidade de ocorrencia da letra '%c' na palavra '%s': %d \n", letra, palavra, n);
}
private static int ocorrencia(String s, char c) {
if (s.equals("")) {
return 0;
} else if (s.charAt(0) == c) {
return ocorrencia(s.substring(1), c) + 1;
} else {
return ocorrencia(s.substring(1), c);
}
}
}