
No se porque me da excepcion ArrayIndexOutOfBoundsException
Publicado por Rafa (13 intervenciones) el 18/11/2015 20:44:54
Hola muy buenas,
Estoy realizando un ejercicio con ArrayList , y la verdad es que ni siquiera me muestra el contenido del fichero desde donde cojo los datos. Me dice algo del tamaño del array , pero yo creo que todo esta correcto. Pongo el código para ver si alguien me puede ayudar. la excepción que me muestra es :
java.lang.ArrayIndexOutOfBoundsException: 1
at Pais.leer(Pais.java:121)
at Pais.main(Pais.java:171)
Este el el código:
Muchas gracias
Estoy realizando un ejercicio con ArrayList , y la verdad es que ni siquiera me muestra el contenido del fichero desde donde cojo los datos. Me dice algo del tamaño del array , pero yo creo que todo esta correcto. Pongo el código para ver si alguien me puede ayudar. la excepción que me muestra es :
java.lang.ArrayIndexOutOfBoundsException: 1
at Pais.leer(Pais.java:121)
at Pais.main(Pais.java:171)
Este el el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
import java.util.*;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Reader;
public class Pais {
private String codCir;
private String codCol;
private String codPart;
private int votP1;
private int votP2;
private int votP3;
private int votP4;
private int votBlanco;
private int votNulos;
ArrayList<Pais>colegios=new ArrayList<Pais>();
//Introducimos y sacamos la Circunscripcion
public void setCodCir (String codCir){
this.codCir=codCir;
}
public String getCodCir(){
return codCir;
}
//Introducimos y sacamos el colegio
public void setCodCol (String codCol){
this.codCol=codCol;
}
public String getCodCol(){
return codCol;
}
//Introducimos y sacamos el Partido Político
public void setCodPart (String codPart){
this.codPart=codPart;
}
public String getCodPart(){
return codPart;
}
//Introducimos y sacamos los votos del Partido 1
public void setVotP1(int votP1){
this.votP1=votP1;
}
public int getVotP1(){
return votP1;
}
//Extraemos los votos del Partido2
public void setVotP2(int votP2){
this.votP2=votP2;
}
public int getVotP2(){
return votP2;
}
//Extraemos los votos del Partido3
public void setVotP3(int votP3){
this.votP3=votP3;
}
public int getVotP3(){
return votP3;
}
//Extraemos los votos del Partido4
public void setVotP4(int votP4){
this.votP4=votP4;
}
public int getVotP4(){
return votP4;
}
//Extraemos los votos en blanco
public void setVotBlanco(int votBlanco){
this.votBlanco=votBlanco;
}
public int getVotBlanco(){
return votBlanco;
}
//Extraemos los votos Nulos
public void setVotNulos(int votNulos){
this.votNulos=votNulos;
}
public int getVotNulos(){
return votNulos;
}
//Método para leer los archivos de los colegios
public void leer (String archivo) {
Scanner s=null;
File fichero=new File(archivo);
try{
//FileReader fr=new FileReader(fichero);
//BufferedReader bf= new BufferedReader(new FileReader(fichero));
s= new Scanner(fichero);
while (s.hasNextLine()){
String linea= s.nextLine();
String [] cortarString=linea.split(" ");
Pais apartado=new Pais();
apartado.setCodCir(cortarString[0]);
apartado.setCodCol(cortarString[1]);
apartado.setCodPart(cortarString[2]);
apartado.setVotP1(Integer.parseInt(cortarString[3]));
apartado.setVotP2(Integer.parseInt(cortarString[4]));
apartado.setVotP3(Integer.parseInt(cortarString[5]));
apartado.setVotP4(Integer.parseInt(cortarString[6]));
apartado.setVotBlanco(Integer.parseInt(cortarString[7]));
apartado.setVotNulos(Integer.parseInt(cortarString[8]));
colegios.add(apartado);
}
}catch(Exception e){
System.out.println("El fichero no existe o no se ha podido abrir");
e.printStackTrace();
}finally{
try{
if(s!=null){
s.close();
}
}catch(Exception e2){
System.out.println("El fichero esta vacio, no contiene nada");
e2.printStackTrace();
}
}
System.out.println("Guardados "+ colegios.size() +" ficheros");
}
public void mostrarContenido(){
Iterator<Pais>itrColegios=colegios.iterator();
while(itrColegios.hasNext()){
Pais apartado=itrColegios.next();
System.out.println("***");
System.out.println(apartado.getCodCir()+"---");
System.out.println(apartado.getCodCol()+"---");
System.out.println(apartado.getCodPart()+"---");
System.out.println(apartado.getVotP1()+"---");
System.out.println(apartado.getVotP2()+"---");
System.out.println(apartado.getVotP3()+"---");
System.out.println(apartado.getVotP4()+"---");
System.out.println(apartado.getVotBlanco()+"---");
System.out.println(apartado.getVotNulos()+"***");
}
}
public static void main (String [] args){
System.out.println("******Bienvenido al programa de recuento electoral*********");
Pais a=new Pais();
a.leer("/Users/rafa/Documents/proyectos android unir/Elecciones/ficheros/sevilla.txt");
a.mostrarContenido();
}
}
Muchas gracias
Valora esta pregunta


0