E ai! Blz!
Estou com problemas para resolver um dos desafios do fj11 da caelum
O exercício é o seguinte criar um método calculaFibonacci que não pode ter nenhum laço, só pode chamar ele mesmo como método. Então eu tenho:
Fibonacci fibo = new Fibonacci();
int i = fibo.calculaFibonacci(6);
System.out.println(i);
Isso imprime o número 8 que o sexto da ordem: 1,1,2,3,5,8. Esse programa trabalha com duas classes esse código em cima e a parte que o exercício me mostra até aí é o da apostila.
O ruim é que sou iniciante é díficil controlar sem laço nenhum e o código que eu fiz não funcionou e a recursividade sem dúvida é um problema mas queria dicas para melhorar aí embaixo foi o metódo que eu tentei fazer:
[code]
public class Fibonacci {
/** METÓDO **/
void calculaFibonacci(int i){
int anterior = 0;
int atual = 1;
if (anterior < atual){
anterior = anterior + atual;
}
if (atual == anterior){
atual = anterior + atual;
}
if (anterior == i){
// Têm que executar até que fique na posição 6 mais não sei o que fazer aqui!
}
}
}[/code]
O raciocinio não foi dos melhores mas talvez não esteja tudo errado
Vini obrigado o código que você fez sem dúvida resolveu o problema as duas classes estão trabalhando em harmônia.
Mas sem querer abusar da sua paciência teria como você postar o código em portugol visualg eu tenho dificuldades em fazer o teste de mesa mesmo o código sendo simples e no momento estou treinando sem instrutor e o visual é o único que eu conheço que mostra o passo a passo.
Não me entenda mal tentei fazer no visualg mais estou mais acustumado com a linguagem java original do que com o portugol. O metódo que eu tentei é muito diferente do seu não basta eu ler o código tenho que ver o metodo recursivo em ação.
Não faço idéia do que seja portugol visualg.
Você está usando alguma IDE para programar em Java? Se estiver, elas tem o modo debug que permite fazer seu programa executar em um passo a passo para que você entenda o que está acontecendo.
De qualquer forma, o teste de mesa não é complicado…
E ai Marco bom cara o debug eu tenho porque estou fazendo tudo no eclipse mais como eu disse eu sou iniciante e ele teria que me mostrar devagar e destacando o passo a passo não sei se ele faz isso de qualquer forma se ele fizer você não sabe de algum post que ensina a usar o debug
Não conheço tutoriais, mas é simples…
Voce “marca” a linha onde quer que o debug “pare” ao chegar, dando um duplo-clique na barra lateral esquerda, ao lado do código (aquela faixa cinza bem no canto)…
Inicie o seu projeto clicando nele com o botão direito, selecione “debug as” > “java application”… pronto, quando chegar na linha marcada vai parar…
Pra avançar para a próxima linha, aperte F5…
Pra entrar no método da linha atual, F6…
Pra continuar com a aplicação, F8 (vai parar no próximo ponto de debug, se houver… se for dentro de um laço ele para também caso exista um ponto de debug naquele laço)…
Não tem segredo… e vai abrir na lateral direita, uma aba chamada “Variables” onde você pode verificar o valor das variáveis… caso não apareça você pode exibi-la através do menu “Window” > “Show View” > "Variables… se não estiver ai, clique em “Other” e escolha ela… ou você seleciona a variável que quer ver, e aperta Ctrl+Shift+I (é o atalho pro “Inspect”…
Valeu galera fiz alguns testes com o modo em debug e foi muito eficiente. Estou gostando muito do fórum obrigado a todos pelas respostas espero aprender muito por aqui.