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 );
}
}
Localize o erro no seguinte método recursivo e explique como corrigi-lo:
S
3 Respostas
<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 
n nunca vai ser 0 desse jeito…
vc poderia fazer
return + somar( n - 1 );
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
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo