Bom dia @lucas0019, cara vamos la, basicamente quando vc utiliza recursividade tem que ter em mente que é uma função que chama ela mesma baseado em um condição e so para quando essa mesma não é mais satisfeita. Meio complicado a explicação mas vamos la.
1º a meu ver apesar de especificar com a entrada sendo um numero inteiro utilizaria a entrada como String para poder utilizar a função substring e ir pegando casa a casa
2º estabelecer uma conidção para que toda vez que ache um numero 7 ele incremente uma variavel contadora e caso o tamanho tptal da string nao tenha sido alcançado ele execute a proxima chamada passando pro parametro a proxima posição.
Veja se isso ja te ajuda.
Qualquer coisa estamos por aqui
public static void main(String[] args) {
int n = ocorrencia("1734177", '7');
System.out.println("O numero de ocorrencias no numero apresentado é de : " + 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);
}
}
}
import java.io.PrintStream;
import java.util.Scanner;
public class Programa {
public static void main(String[] args) {
try {
Programa programa = new Programa();
programa.executar();
} catch (Throwable t) {
t.printStackTrace();
}
}
private final Scanner input = new Scanner(System.in);
private final PrintStream output = System.out;
public void executar() throws Exception {
output.print("Entrada: ");
int entrada = Integer.parseInt(input.nextLine());
output.print("Número a verificar: ");
int numero = Integer.parseInt(input.nextLine());
int ocorrencias = ocorrencias(entrada, numero);
output.printf("O número %d possui %d ocorrência do número %d%n", entrada, ocorrencias, numero);
}
private int ocorrencias(int m, int n) {
if (m < 10) {
return m == n ? 1 : 0;
}
return ocorrencias(m % 10, n) + ocorrencias(m / 10, n); }
}
Como eu posso deixar esse modo com a ocorrência negativa? , ex: inseri o numero 809990, então a saída seria -3, porque há 3 numeros 9 , agradeço desde já .