Localize o erro no seguinte método recursivo e explique como corrigi-lo:

3 respostas
S
public class Questao5 {

public static void main( String[] args ) {

Questao5 questao5 = new Questao5();

System.out.println( "Soma = " + questao5.somar( 5 ) );

}

public int somar( int n ) {

if( n == 0 )

return 0;

else

return n + somar( n );

}

}

3 Respostas

dsfextreme
<blockquote><div class="quote-author">Samilu:</div>

public class Questao5 {

public static void main( String[] args ) {

Questao5 questao5 = new Questao5();

System.out.println( "Soma = " + questao5.somar( 5 ) );

}

public int somar( int n ) {

if( n == 0 )

return 0;

else

return n + somar( n );

}

}</blockquote>

Seu método está em Loop infinito , não entendí o que vc quer fazer ???
Vc quer somar o que com o que ? Explica melhor :cry:

peczenyj

n nunca vai ser 0 desse jeito…

vc poderia fazer

return + somar( n - 1 );

Edufa

Não está decrementando n, assim a condição de parada da recursão nunca é atingida.

Criado 15 de maio de 2006
Ultima resposta 15 de mai. de 2006
Respostas 3
Participantes 4