[Resolvido] Algo errado arquivos

4 respostas
N

Boom criei este projeto apenas para testes e aprendizagem de manipulação de arquivos ele compila direitinho só que na hora de rodar aparece:
[color=red]java.lang.ArrayIndexOutOfBoundsException: 5[/color]

Segue abaixo os códigos: Classe Dddd (principal):
package dddd;

import java.io.*;

public class Dddd {


    public static void main(String[] args) {
        Roda e = new Roda();
        e.start();
    }
}
Classe Roda:
package dddd;
import java.io.*;
public class Roda extends Thread {
        public void run() {
        try  
        {  
            
                int linha = 0;
		int id = 1;
		Carta[] Cartas = new Carta[5];		
		 //try {
		        BufferedReader in = new BufferedReader(new FileReader("C:\\Users\\Nathan\\Documents\\NetBeansProjects\\dddd\\src\\dddd\\LocoNoia.txt"));
		            String str, backup;
		            while (in.ready()) {
		            	linha ++;
		            	str = in.readLine();
                                backup = str;
		            	if(linha == 1) 
                                { 
                                    backup = str; 
                                }
		            	else if(linha == 2) 
                                { 
                                    Cartas[id] = new Carta(backup, str);
                                    linha = 0; 
                                    id ++;
                                }
		            }
		     
		            in.close();	
                            int i = 1;
                            while(i < 5)
                            {
                                Cartas[i].Printar();
                            }   
        }  
        catch(Exception e)  
        {  
            System.out.println(e);  
        }  
    }
}
Classe Carta:
package dddd;

public class Carta {
	public String Fundo;
	public String Atributo1;
            public Carta() {
    }
    public Carta(String Fundo, String Atributo1) {
        this.Fundo = Fundo;
        this.Atributo1 = Atributo1;
    }
    public void Printar()
    {
        System.out.println(this.Fundo);
        System.out.println(this.Atributo1);
    }
}

4 Respostas

E

new Carta[5] cria um array que vai de [0] até [4] (contendo 5 elementos).

Está ciente disso?

N

Opa man esqueci disso hsuahusuh briigado muuita correria e trabalhos as vezes complica e erros básicos acontecem [Resolvido]

E

Você sabe usar uma IDE (como o NetBeans ou o Eclipse) e consegue “debugar” o programa (ou seja, rodar passo-a-passo para checar os valores das variáveis?) É mais fácil que tentar lhe explicar.

N

Vou começar a debugar agr vlws pelas dicas!

Criado 11 de junho de 2012
Ultima resposta 11 de jun. de 2012
Respostas 4
Participantes 2