Ajuda Vetor

2 respostas
K

Opá, aqui estou eu com mais um exercício.
Consegui desenvolver quase tudo porém não sei como resolver um erro aparentemente simples.

Segue o problema:

Implemente um procedimento não recursivo para calcular os n primeiros elementos da sequência
de Fibonacci. Utilize um vetor para armazenar os elementos. O procedimento deve possuir n como
parâmetro. Ao final, a sequência deve ser apresentada na tela.
Primeiros elementos: 0, 1
Sequência: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ?

R -
import java.util.Scanner;
public class Fibonacci_nao_recursivo 
{
	public static void main(String[] args) 
	{
		Scanner s = new Scanner (System.in);
		System.out.println("Digite o Número a Ser Calculado");
		int n = s.nextInt();
		int a[] = new int [n];
		a[0] = 0;
		
		System.out.println(a[0]);
		a[1] = 1;
		System.out.println(a[1]);
		for (int i = 2; i<n; i++)
		{
			
			a[i]=a[i-1]+a[i-2];	
		System.out.println(a[i]);
		}
	}

}

O programa roda tranquilo o erro acontece quando digito 0 ou 1 que seriam o valor do tamanho do array.
acredito que colocando um if (n<=1)
iria resolver mais não estou tendo êxito em implementar essa parte no código.

Se alguém puder me dizer se estou certo quanto a isso agradeço.

Obrigado
Abraços

2 Respostas

Nicolas_Fernandes

Faça algo assim:

public class Main
{
   public static void main(String args[])
   {
      int atual = 1;
      int anterior = 0;
      int quantidade = 0;

      Scanner read = new Scanner(System.in);
      System.out.print("Escolha a quantidade de dígitos: ");
      quantidade = Integer.valueOf(read.nextLine());

      for (int I = 0; I < quantidade; ++I)
      {
         System.out.println(anterior);
         atual = atual + anterior;
         anterior = atual - anterior;
      }
   }
}

Abraços!

K

Entendí.
Obrigado Nicolas.
Abraço

Criado 10 de outubro de 2010
Ultima resposta 10 de out. de 2010
Respostas 2
Participantes 2