2
respostas

Erro nao listado nas opções da questao

O codigo da questao possui um trecho que eu acredito que vai causar um erro de loop infinito ou stackoverflow. Se o numero de parametros passados por linha de comando for menor que 10, a linha com o codigo if(l<10) return b(l); // C vai executar indefinidamente. Me corrijam se eu estiver errado.

class A {
    public static void main(String[] args) {
        System.out.println(a(args.length));
    }
    static int a(int l) {
        if(l<10) return b(l); //A
        else return c(); // B
    }
    static int b(int l) {
        if(l<10) return b(l); // C
        else return c(); // D
    }
    static long c() {
        return 3;
    }
}

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Oi Alexandre

Esse código nem compila na verdade.

c() retorna um long, mas b() e a() retornam um int, irá dar erro de compilação.

Sim, é uma das opções no exercício. Essa problema é um que não tinha no exercício, mas enfim..