ArrayList y StringTokenizer
Tras tu consejo de ayer fui capaz de ejecutar mi programa y algunas de las funciones que hace las cumple, pero hay dos de ellas que me dan error y por muchas vueltas que le doy no consigo encontrarlo.
La clase que tengo errónea es esta:
public static void Entrada() {
String sCadena;
try {
FileReader fichero = new FileReader ("valores.txt");
BufferedReader lector = new BufferedReader(fichero);
ArrayList matrizFichero = new ArrayList();
while ((sCadena = lector.readLine())!=null) {
StringTokenizer numeros = new StringTokenizer(sCadena, " ");
if (!((numeros.equals("#"))||(numeros.equals("##")))) {
while (numeros.hasMoreTokens()){
matrizFichero.add(numeros.nextToken());
}
matrizFichero.add("//");
}
}
Iterator iterador = matrizFichero.listIterator();
int cont = 0;
while(iterador.hasNext()) {
if (iterador.next() == "//") {
cont++;
}
}
N = cont/2;
ind = (N++)/2;
filas = new int[ind][N];
columnas = new int[N][ind];
Iterator iterador2 = matrizFichero.listIterator();
for (j = 0; j
i = 0;
while (!iterador2.equals("//")){
int numEntero = Integer.parseInt((String) iterador2.next());
filas[j] = numEntero;
i++;
}
while (i
filas[j] = 0;
i++;
}
iterador2.next();
}
for (i=0; i
j = 0;
while (!iterador2.equals("//")) {
int numEntero = Integer.parseInt((String) iterador2.next());
columnas[j] = numEntero;
j++;
}
while (j
columnas[j] = 0;
j++;
}
iterador2.next();
}
matriz = new boolean[N][N];
i=0;
while (i
k=0;
j=0;
while ((j[j]==0)){
int l=0;
while (l[j]) {
Entrada_Salida.matriz[k]=true;
k++;
l++;
}
Entrada_Salida.matriz[k]=false;
}
while (k
Entrada_Salida.matriz[k]=false;
k++;
}
}
}
catch (Exception e) {
e.printStackTrace();
...
La clase que tengo errónea es esta:
public static void Entrada() {
String sCadena;
try {
FileReader fichero = new FileReader ("valores.txt");
BufferedReader lector = new BufferedReader(fichero);
ArrayList matrizFichero = new ArrayList();
while ((sCadena = lector.readLine())!=null) {
StringTokenizer numeros = new StringTokenizer(sCadena, " ");
if (!((numeros.equals("#"))||(numeros.equals("##")))) {
while (numeros.hasMoreTokens()){
matrizFichero.add(numeros.nextToken());
}
matrizFichero.add("//");
}
}
Iterator iterador = matrizFichero.listIterator();
int cont = 0;
while(iterador.hasNext()) {
if (iterador.next() == "//") {
cont++;
}
}
N = cont/2;
ind = (N++)/2;
filas = new int[ind][N];
columnas = new int[N][ind];
Iterator iterador2 = matrizFichero.listIterator();
for (j = 0; j
i = 0;
while (!iterador2.equals("//")){
int numEntero = Integer.parseInt((String) iterador2.next());
filas[j] = numEntero;
i++;
}
while (i
filas[j] = 0;
i++;
}
iterador2.next();
}
for (i=0; i
j = 0;
while (!iterador2.equals("//")) {
int numEntero = Integer.parseInt((String) iterador2.next());
columnas[j] = numEntero;
j++;
}
while (j
columnas[j] = 0;
j++;
}
iterador2.next();
}
matriz = new boolean[N][N];
i=0;
while (i
k=0;
j=0;
while ((j[j]==0)){
int l=0;
while (l[j]) {
Entrada_Salida.matriz[k]=true;
k++;
l++;
}
Entrada_Salida.matriz[k]=false;
}
while (k
Entrada_Salida.matriz[k]=false;
k++;
}
}
}
catch (Exception e) {
e.printStackTrace();
...
1 respuesta
Respuesta de jruben
1