Java - Leer una matriz de un fichero de texto

 
Vista:

Leer una matriz de un fichero de texto

Publicado por Marina (3 intervenciones) el 10/05/2017 16:01:24
Buenas, os dejo aqui un ejercicio que se me ha mandado realizar en BlueJ.
Debo realizarlo con la pareja de streams Scanner y FileReader.
Escribir un método Java que lea una matriz de números reales de un fichero de texto y la retorne. El nombre del fichero se pasa como parámetro al método. El fichero tiene en su primera línea dos números enteros que indican el número de filas y el número de columnas de la matriz. Posteriormente tiene los números de la matriz, cada fila en una línea. Todos los números se separan mediante espacios en blanco y están escritos en la notación inglesa, con punto decimal. A continuación se muestra un ejemplo del posible contenido del fichero:

3 4
1.0 2.0 3.0 4.0
5.0 6.0 7.0 8.0
9.0 10.0 11.0 12.0

Para simplificar el problema se puede suponer que el fichero es correcto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Leer una matriz de un fichero de texto

Publicado por Dante (19 intervenciones) el 11/05/2017 01:07:30
Pense que este era un foro de consultas, no de solicitudes de tareas hechas.

Por ultimo hace algo de codigo y pregunta lo que no se sepas, si estas estudiando y no sabes nada, te equivocaste de carrera, la programacion requiere de esfuerzo y preocupacion.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer una matriz de un fichero de texto

Publicado por Marina (3 intervenciones) el 11/05/2017 16:58:20
Lo primero deberías informarte sobre lo que estudio, ya que no estoy estudiando una carrera de informática, sino matemáticas y se me exigen cosas que no son de mi carrera, es por eso que pido ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Leer una matriz de un fichero de texto

Publicado por Dante (19 intervenciones) el 11/05/2017 17:15:05
Según veo no pides ayuda, pides que te hagan el trabajo....... no veo en ninguna parte que pidas ayuda con algo especifico, y no creo que tu institución educacional no te proporcionara conocimientos previos para poder realizar un trabajo como ese. Ademas, estudias matemáticas, genera un algoritmo (Creo que eso lo ves en Matemáticas XD) en pseudocodigo y ahi solicita ayuda. Es facil tirar algo que queremos que nos hagan, desmerece a las personas que se preocupan con aportar ayudando a otros.

La programación es 100% matemáticas.(Algoritmos, logica), no hablamos de informatica en general.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer una matriz de un fichero de texto

Publicado por pedro (1 intervención) el 30/11/2020 11:53:46
No se realmente si sabes lo que es la programación al afirmar atómicamente que la programación es 100% matemáticas, de echo solo se usan las matemáticas en la programación en 3 ámbitos (inteligencia artificial, algoritmos de big data y creación de motores gráficos para videojuegos en 3d) el resto como la programación web(y todo lo que ello conlleva),desarrollo de software en general no precisa de conocimientos específicos en matemáticos solo de operadores aritméticos básicos , esto te lo dice un ingeniero agrónomo en tercero de de ingeniería informática y con un grado superior en desarrollo web , sino tienes ni idea de lo que hablas mejor no digas nada ,este chicx solo quería ayuda nada mas, que hablen los que saben del tema los demás pueden intentar no molestar , gracias crack.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer una matriz de un fichero de texto

Publicado por nans (1 intervención) el 28/10/2021 00:02:49
ya vayase a dormir abuelo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer una matriz de un fichero de texto

Publicado por Santiago (25 intervenciones) el 29/10/2021 19:07:05
Hola, Marina.

Adjunto una posible solución:

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
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
 
public class MatrizDesdeFicheros {
 
	public static void main(String[] args) {
 
		String fichero = "";
		Scanner teclado = new Scanner(System.in);
		double[][] valores;
 
		System.out.println("Indique el nombre del fichero: ");
		fichero = teclado.next();
 
		// Creamos un objeto File
		File f = new File(fichero);
 
		// Comprobamos si existe
		if(!f.exists()) {
			return;
		}
 
		// Leemos los valores del fichero
		valores = leeFichero(fichero);
 
		// Escribimos los valores del fichero
		for(int i=0; i<valores.length; i++) {
			for(int j=0; j<valores[0].length; j++) {
				System.out.println(valores[i][j]);
			}
		}
 
	}
 
	private static double[][] leeFichero(String pFichero) {
 
		double[][] matriz;
		String linea;
		int fila = 0;
		int filas = 0;
		int columnas = 0;
		String[] campos;
 
		// Declaramos una variable BufferedReader
	    BufferedReader br = null;
 
        try {
 
           br = new BufferedReader(new FileReader(pFichero));
 
           //Leemos la primera línea
           linea = br.readLine();
 
           // Separamos los dos valores de la primera línea
           campos = linea.split(" ");
 
           // Creamos la matriz con el número de lineas y columnas
           filas = Integer.parseInt(campos[0]);
           columnas = Integer.parseInt(campos[1]);
           matriz = new double[filas][columnas];
 
           //Repetimos mientras no se llegue al final del fichero
           fila=0;
           linea = br.readLine();
           while(linea != null)
           {
 
        	   // Separamos los "n" valores de cada línea
        	   campos = linea.split(" ");
 
        	   // Cargamos los valores en la matriz
        	   for(int columna=0; columna<columnas; columna++) {
        		   // Creamos la matriz con el número de lineas
        		   matriz[fila][columna]=Double.valueOf(campos[columna]);
        	   }
 
        	   fila++;
        	   linea = br.readLine();
           }
           return matriz;
        }
        catch (FileNotFoundException e) {
            System.out.println("Error: Fichero no encontrado");
            System.out.println(e.getMessage());
        }
        catch(Exception e) {
            System.out.println("Error de lectura del fichero");
            System.out.println(e.getMessage());
        }
        finally {
            try {
                if(br != null)
                    br.close();
            }
            catch (Exception e) {
                System.out.println("Error al cerrar el fichero");
                System.out.println(e.getMessage());
            }
        }
 
		return null; //matriz;
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar