Ir ao conteúdo

Sequencia de Fibonnaci - erro no código


brunopl65

Posts recomendados

Postado

BOM... Meu código abaixo não interpreta de jeito nenhum no netbeans, fica sempre dando essa mensagem:

"Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0". Como posso resolver isso?


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package listadeexercicios3;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @author user
*/
public class numerp10 {
public static void main(String[]args){

String s="";
int n_termos=0,cont=3,cont_2=0;
int[] num;
BufferedReader dado;

num= new int[n_termos];



try
{
System.out.println("ENTRE COM A QTD DE TERMOS DA SERIE DE FIBONACCI:");
dado= new BufferedReader(new InputStreamReader(System.in));
s=dado.readLine();
n_termos=Integer.parseInt(s);

num[0]=1;
num[1]=1;

System.out.println("SEQUÊNCIA DE FIBONACCI:");
System.out.println(num[0]);
System.out.println(num[1]);

while(cont_2!=(n_termos-3)){

cont_2++;

num[cont]=num[cont-1]+num[cont-2];
System.out.println(num[cont]);

cont++;

}
}

catch(IOException erro)
{
System.out.println("Erro na entrada de dados");
}
catch(NumberFormatException erro)
{
System.out.println("Houve erro na conversão, digite apenas caracteres numericos");
}
}
}

Postado

Já tentou dar o "num = new int[n_termos]" depois de ler o n_termos?

O erro é porque você está tentando acessar o vetor fora de seus limites.

Não lembro se em java tem essa restrição.

Abraços.

Postado


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package listadeexercicios3;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
* @author user
*/
public class numerp10 {
public static void main(String[]args){

String s="";
int n_termos=0,cont=3,cont_2=0;
int[] num;
BufferedReader dado;




try
{
System.out.println("ENTRE COM A QTD DE TERMOS DA SERIE DE FIBONACCI:");
dado= new BufferedReader(new InputStreamReader(System.in));
s=dado.readLine();
n_termos=Integer.parseInt(s);
[COLOR="Red"] num= new int[n_termos];[/COLOR]

num[0]=1;
num[1]=1;

System.out.println("SEQUÊNCIA DE FIBONACCI:");
System.out.println(num[0]);
System.out.println(num[1]);

while(cont_2!=(n_termos-3)){

cont_2++;

num[cont]=num[cont-1]+num[cont-2];
System.out.println(num[cont]);

cont++;

}
}

catch(IOException erro)
{
System.out.println("Erro na entrada de dados");
}
catch(NumberFormatException erro)
{
System.out.println("Houve erro na conversão, digite apenas caracteres numericos");
}
}
}

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!