Galera, sou muito leigo em Programacao entao gostaria de saber como eu faco para desenvolver a serie Fibonacci onde o usuario informa a quantidade de termos declarados ou a ser executados…
Forte abraco…
O que você já digitou / implementou / criou ?
Ela tem que ser recursiva ou iterativa?
- estude a sequencia
- veja como ler uma entrada de dados em java com scanner.
- com um laço ou de forma recursiva, tente desenvolver o estudo feito na parte 1.
- caso seja recursivo, estude primeiro recursão. Qualquer duvida sobre as partes a cima pode contar comigo. flw
Um exemplo de implementação, mas realmente no Wikipedia tem bastante informação vale a pena verificar.
[code]
import java.util.ArrayList;
import java.util.List;
public class Fibonacci {
private int numeroDeTermos;
private List termos;
public Fibonacci(int numeroDeTermos) {
this.numeroDeTermos = numeroDeTermos;
}
public Fibonacci calcular() {
long soma = 0;
long auxiliar = 1;
//o termo 94 exede o limite de um long o java
if (numeroDeTermos > 0 && numeroDeTermos <= 93) {
this.termos = new ArrayList<Long>(numeroDeTermos);
termos.add(0L);
for (int i=0; i < numeroDeTermos - 1; i++) {
soma += auxiliar;
auxiliar = soma - auxiliar;
termos.add(soma);
}
}
return this;
}
public List<Long> getTermos() {
return termos;
}
public void imprimeTermos() {
if (termos.size() > 0) {
int contador = 1;
for (Long termo : termos) {
System.out.println("termo["+contador+"] => " + termo);
contador++;
}
}else {
System.out.println("Não foi possível calcular para o número de termos informado!");
}
}
}[/code]
Exemplo de uso em uma class com método main.
[code]
public class Main {
public static void main(String args[]) {
new Fibonacci(20).calcular().imprimeTermos();
}
}[/code]
Lembrando está implementação usa a abordagem iterativa. Bons estudos.