As duas classes a seguir resolvem o mesmo problema, porém, a...

Próximas questões
Com base no mesmo assunto
Ano: 2013 Banca: FCC Órgão: DPE-SP Prova: FCC - 2013 - DPE-SP - Programador de computador |
Q304600 Programação
As duas classes a seguir resolvem o mesmo problema, porém, a ClasseB utiliza recursão e a ClasseA, não:

 public class ClasseB {
      public static void main(String[] args) {
          Scanner in = new Scanner(System.in);
          System.out.print("Entre com o valor de n:");
          int n = in.nextInt();
          for (int i = 1; i <= n; i++) {
               long f = teste(i);
               System.out.println(f);
     }
}
 public static long teste(int n) {
          if (n <= 2) {
          return 1;
          } else {
          return teste(n - 1) + teste(n - 2);
     }
  }
}
 
import java.util.Scanner;
 public class ClasseA {
      public static void main(String[] args) {
          Scanner in = new Scanner(System.in);
          System.out.print("Entre com o valor de n:");
          int n = in.nextInt();
          for (int i = 1; i <= n; i++) {
          long f = teste(i);
          System.out.println(f);
    }
}
 public static long teste(int n) {
          if (n <= 2)
          return 1;
          long a=1;
          long b=1;
          long c = 1;
          for (int i=3; i<=n; i++){
          c=a+b;
          b=a;
          a=c;
    }
          return c;
  }
}


Analisando as duas classes e refletindo sobre o uso de recursão é possível concluir que
Alternativas