Recursividade em Java - MDC

Como posso implementar um contador no código abaixo para poder saber quantas chamadas recursivas vão acontecer para calcular o MDC de 14 e 18?

package Aula01;

import javax.swing.JOptionPane;

public class Exer01 {

public static double mdc(double dividendo, double divisor) {
    if ((dividendo % divisor == 0)) {
        return divisor;
    } else {
        return mdc(divisor, (dividendo % divisor));
    }

}

public static void main(String[] args) {
    double n1;
    double n2;
    double resp;

    n1 = Double
            .parseDouble(JOptionPane.showInputDialog(null, "Digite o primeiro número ou -1 para sair do programa"));
    n2 = Double
            .parseDouble(JOptionPane.showInputDialog(null, "Digite o segundo número ou -1 para sair do programa"));

    while (n1 != -1 || n2 != -1) {
        resp = mdc(n1, n2);
        String result = String.format("%.0f", resp);
        JOptionPane.showMessageDialog(null, "O resultado do MDC é: " + result);
        System.exit(0);

    }

}

}

Acredito que isto resolva:

/* ... */
static int contador;

public static double mdc(double dividendo, double divisor) {
  contador++;
  if ((dividendo % divisor == 0)) {
    return divisor;
  } else {
    return mdc(divisor, (dividendo % divisor));
  }
}
/* ... */
1 curtida