SóProvas


ID
1731289
Banca
CESPE / CEBRASPE
Órgão
STJ
Ano
2015
Provas
Disciplina
Programação
Assuntos

Julgue o item a seguir, a propósito de Java.

Ao se executar o código Java apresentado a seguir, o resultado obtido será 13.

package teste  ;

import java.math.BigInteger  ;


import java.util.concurrent.ExecutionException  ;

public class Teste  {

    public static void main(String[] args) throws InterruptedException, ExecutionException {

        Teste a = new Teste( )  ;

        System.out.println(a.getNumero(5))  ;

      }

        public BigInteger getNumero(final int valor)

               throws InterruptedException, ExecutionException  {

           if (valor == 0 valor == 1)

              return BigInteger.valueOf(valor + 1)  ;

           return getNumero(valor - 1).add(getNumero (valor - 2))  ;

         }

}

Alternativas
Comentários
  • Não teria um operador em "  if (valor == 0 valor == 1)  " ?
    Esse é o erro da questão? Então o problema é de sintaxe, não de lógica. É isso?

  • Pelo que eu entendi é isso mesmo.

  • Sintaxe?  Aí força

  • Isso mesmo, problema de sintaxe. Deveria ser

     

    if (valor == 0 || valor == 1)

  • Prezados,

    Haverá erro de compilação.
    if ( valor ==0 valor ==1 ) está faltando algum operador lógico, tipo, if ( valor ==0 OR valor ==1 )

    Portanto a questão está errada.
  • Pelo que eu entendi, esse código só é capaz de retornar 1 ou 2 (nunca um 13), pois o retorno final da função está restrito a isso. De qualquer forma temos erro na sintaxe, então, GAB ERRADO