[Resolvido] Contar chamadas de uma função

Bom dia galera!

Estou fazendo um trabalho para a faculdade no qual devo desenvolver um programa que calcule fibonacci por meio de uma função reursiva, eu devo mostrar o tempo gasto para fazer o calculo e tambem as vezes que esta função foi chamada.
Bom, a questão do tempo eu ja dei um jeito utilizando o comando System.currentTimeMillis(); mas quanto as vezes co que a função é executada eu não estou sabendo fazer.

Segue o codigo fonte do meu programa, ja tentei contar usando uma variavel cont dentro da função, mas como a variavel é declarada dentro da função toda vez que a função era executada ela era zerada e ficava valendo apenas 1.

[code]package fibonacci;

import java.util.Scanner;

public class Fibonacci {

public static long fiboRecursivo(long T){
    if (T <= 2)
        return 1;
    else
        return Fibonacci.fiboRecursivo(T-1)+Fibonacci.fiboRecursivo(T-2);
}

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    long fibo = 0;
    int termo = 0;
    long inicio = 0;
    long fim = 0;
    
    while (termo < 1){
        System.out.print("Digite o termo que deseja calcular: ");
        termo = sc.nextInt();
    }
    
    inicio = System.currentTimeMillis();
    fibo = Fibonacci.fiboRecursivo(termo);
    fim = System.currentTimeMillis();
    
    System.out.println("forma gastos "+(fim-inicio)/1000+"s");
    System.out.println("O termo <"+termo+"> de fibonacci é: "+fibo);
}

}

Se alguem puder e ajudar com essa duvida eu agradeço.
Abraços
[/code]

Uma solução que não é muito recomendada, mas pode te ajudar nesse caso é usar uma variável estática. Assim:[code]public class Fibonacci{

private static int contador = 0;

public static long fiboRecursivo(long T){  
    contador++;
    if (T <= 2)  
        return 1;  
    else  
        return Fibonacci.fiboRecursivo(T-1)+Fibonacci.fiboRecursivo(T-2);  
}  

}[/code] Assim a cada vez que o método for invocado, será incrementado 1 ao seu contador.

Valeu amigo, realmente assim funciona.
Esta aqui iaginando se tinha alguma coisa desse tipo pra usar, mas como sou novo em Java não sabia o que poderia ser.

Valeu mesmo a ajuda.

Sem problemas. :slight_smile:
se não tem mais dúvidas edite seu primeiro post do tópico e adicione a tag [Resolvido] ao título, por favor.