Matriz Java

Soy nuevo en este mundo y necesito un empujón para seguir con mi proyecto valoraría muchísimo tu urgente ayuda..
Necesito crear un archivo de texto plano y leer cada linea de este archivo para almacenarlo en una matriz de 8 columnas y las filas las conozco contanto el numero de lineas del archivo y dividiéndolo entre 8
luego necesito crear una función que lea el archivo, calcule el numero de lineas y retorne el numero de filas que deba tener la matriz...

1 respuesta

Respuesta
1
Antes de continuear necesito que me expliques el porqué de dividir entre ocho.
Hola!
Porque el archivo de texto esta dado de la siguiente forma:
1235
261
015468
0000075894
Jose a Aguilar
V
00934568
Caracas
5698
368
056954
0000068197
Antonio perez
V
006985364
Miranda
.
.
.
Entonces, los primeros 8 son los datos de un cliente y rellenan la primera fila, cada dato va en una columna. Entonces necesito leer los las lineas del archivo y agregarlos a la matriz. El único valor fijo de la matriz es el 8 que equivale a las colmunas de la misma.
Gracias!
Habiendo entendido, respondo:
Debes crear un Vector o algo parecido para almacenar los elementos:
A continuación te muestro un ejemplo modificado por mí de la página de Chuidiang, la verdad es más sencillo así:
Vector<String> lineas = new Vector<String> ();
int i = 0;
public void LeeLineas () {
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
try {
// Apertura del fichero y creacion de BufferedReader para poder
// hacer una lectura comoda (disponer del metodo readLine()).
archivo = new File ("archivo.txt"); //aqui va el nombre del archivo
fr = new FileReader (archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
while((linea=br.readLine())!=null) {i++; lineas.add(linea) }
}
catch(Exception e){
e.printStackTrace();
}finally{
// En el finally cerramos el fichero, para asegurarnos
// que se cierra tanto si todo va bien como si salta
// una excepcion.
try{
if( null != fr ){
fr.close();
}
}catch (Exception e2){
e2.printStackTrace();
}
}
}
Creo que con eso sería suficiente para lo de la lectura.
public int cantidadLineas () {
return i;
}
public int cantidadFilas () {
return (i / 8);
}
public String[] filaN (int n) {
String[] columnas = new String[8];
for (int i = 0; i < 8; i++)
columnas = lineas.get(n*8 + i)
}
Si tiene algún error o se presenta alguna otra duda me avisas.
columnas = lineas.get(n*8 + i );
XD
experto,
el unico problema es Type mismatch: cannot convert from String to String[]
lo realiza en columnas = lineas.get(n*8 + i);
Es debido a un problema de TodoExpertos si escribes [ i ] todo junto se te borra. Así que es:
columnas [ i ] = lineas.get(n*8 + i );
perfect le hice los arreglos y todo bien hasta que me dice que selection does not contain a main type.. cree la clase como public class main y tampoco lo corre.. y cuando la creo como public static void main.. me sombrea rojo el void y no me deja arreglar naad porque se daña otra cosa.. :s
Bno es que solo te puse métodos no una clase
Crea una clase normal y le agregas esos métodos.
gracias mi pana.. no me corrio xq al final columnas = lineas.get(n*8 + i); me da un error con lineas que no puedo resolver.. Pero gracias por tu ayuda y por tu tiempo!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas