elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  problemas con parametros!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problemas con parametros!  (Leído 1,701 veces)
jazz07

Desconectado Desconectado

Mensajes: 2


Ver Perfil
problemas con parametros!
« en: 14 Diciembre 2015, 00:06 am »

buenos días a todos, miren tengo una clase que consta de 3 métodos el primero lee de un archivo y pasa lo que lee a una matriz y retorna esta, el segundo se encarga de girar esa matriz , y el tercero escribe la matriz en otro archivo. bueno el problema es que nose como pasar la matriz girada al método que imprime en el archivo. osea lo que quiero hacer es leer del archivo la matriz luego esa matriz que lei girarla y final mente volver a escribirla en otro archivo osea que tengo problemas para pasar la matriz girada al método que imprime , les dejo lo que tengo

Código:
public class LeerArchivo  {
    
    public String [][] matriz() {
        
        
        String matriz[][] = new String[3][3];
        //String matrizNew[][] = new String [r][t];
        
        File archivo = null;
        FileReader Fr = null;
        BufferedReader br = null;
        try {
            archivo = new File("archivo1.txt");
            Fr = new FileReader(archivo.toString());
            br = new BufferedReader(Fr);
            String linea;
            String delimiter = " ";
            //String matriz[][] = new String[3][3];
            //Cuenta las líneas y a la vez sería el número de filas
            int numlinea=0;
            //String matriz[][] = new String[3][3];
            //validación si existe línea
            while (((linea = br.readLine()) != null)) {
                
                String a[]=linea.split(delimiter);
               //Bucle para poder ingresar todas las columnas del Array "a" que existan. TODAS.
                for (int l = 0; l < a.length; l++) {
                    //ingresamos los datos de cada columna de "a" a la matriz.
                    //"numlinea" hace de fila, "l" es el numero de la columna.
                    matriz[numlinea][l] = a[l];
                    //Prueba de que los datos están llenando la fila de la matriz.
                    //System.out.print(matriz[numlinea][l]+" ");  
                }
                numlinea++;
              
            }
        }catch (IOException e) {
            System.out.println(e);
        }
        
        return matriz;
    
    }
    
    
    public void imprime(String [][]matriz){ // momentaneo solo para ver como queda la matriz por pantalla
    
        //System.out.println("MATRIZ\n");
               for (int filas = 0; filas < matriz.length; filas++) {
                    for (int colum = 0; colum < matriz[filas].length; colum++) {
                        //Imprime las columnas de cada fila
                        System.out.print(matriz[filas][colum]+" ");
                    }
                    //Imprime uns alto de línea para cada fila
                    System.out.println();  
                }
        
    }
    
    public void EscribeArchivo(String nombre, String [][] matriz){
    
        File f;
       FileWriter w;
       BufferedWriter bw;
       PrintWriter wr;
       try{
          
           f= new File(nombre);
           w= new FileWriter(f);
           bw= new BufferedWriter(w);
           wr= new PrintWriter(bw);
          
            for (int filas = 0; filas < matriz.length; filas++) {
                    
                    for (int colum = 0; colum < matriz[filas].length; colum++) {
                        //Imprime las columnas de cada fila
                        wr.write(matriz[filas][colum]+" ");
                    }
                    wr.println("");
                      
                }
           wr.close();
           bw.close();
       }catch(Exception e){
      
           JOptionPane.showMessageDialog(null,"ha ocurrido un error"+ e);
       }
    }
    
    
    public String [][] GirarIzquerdaa(String [][] matriz){
        String a;
        int r=3,t=3,s=3,w=3;
        String matrizNew[][] = new String [r][t];
        String matrizNeww[][] = new String [r][t];
        for (int filas = 3-1; filas >=0/* matriz.length*/; filas--) {
                    for (int colum = 0; colum < 3/*matriz[filas].length*/; colum++) {
                        matrizNew[0][colum]= matriz[colum][filas];
                        EscribeArchivo("victo.txt",matriz);
                        System.out.print(matriz[filas][colum]+" ");
                        
                              
                    }
                    //Imprime uns alto de línea para cada fila
                    System.out.println();
                }
      
        return matriz;
    }

y este es el principa donde debo llamar todo

Código:
package beta2;

/**
 *
 * @author USuario
 */
public class Beta2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        LeerArchivo F = new LeerArchivo();
        F.imprime(F.matriz());
        //F.GirarIzquerdaa(F.EscribeArchivo("ertyuio.txt",));
        F.GirarIzquerdaa(F.matriz());
        F.EscribeArchivo("oop.txt",matriz);
        
        
        
    }
    
}

ojala puedan ayudarme!!!


« Última modificación: 14 Diciembre 2015, 00:08 am por jazz07 » En línea

DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: problemas con parametros!
« Respuesta #1 en: 14 Diciembre 2015, 15:24 pm »

Pues, primero que todo te voy a comentar que tienes un diseño de clases extremadamente malo desde mi punto de vista! No se si será una cosa obligatoria de la orden de un ejercicio, pero a mi entender está mal diseñada.

Lo que yo haría sería tener una clase que leyera el archivo y luego se lo pasaras a otra clase que al crearla le pases el archivo leido (el File) y se encarge de crear la matriz, y la misma la tiene a ella como un campo o propiedad.

Luego los métodos de rotar la matriz e imprimirla los hiciera static en una clase static que se dedique a la manipulación de matrices.

Por último crearía una clase static con un método que sirva para escribir la matriz en un nuevo archivo.

El flujo de código quedaría algo así:

Código
  1. public static void main(String[] args) {
  2.  //Creas el lector y le pasas la ruta al archivo que contiene la matriz que vas a leer
  3.  LectorDeArchivos r = new LectorDeArchivos("rutaAlArchivoConLaMatriz.txt");
  4.  
  5.  //Creas una instancia de la clase matriz pasandole el archivo
  6.  //r.Archivo es el File que leimos
  7.  Matriz m = new Matriz(rArchivo);
  8.  
  9.  //Llamamos al metodo estático GirarMatriz de la clase estática ManipulacionMatriz
  10.  //Nota: De esta forma trabajamos sobre la matriz leída y la modificamos
  11.  ManipulacionMatriz.GirarIzquierda(m);
  12.  
  13.  //Escritor de archivos puede ser una clase estatica con un metodo Escribe(string ruta, Matriz m)
  14.  EscritorDeArchivos.Escribe("rutaDelNuevoArchivo.txt", m);
  15. }

Espero esto te ayude a entender.

Salu2s


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
parametros tmpgenc
Multimedia
xpanix 3 2,173 Último mensaje 23 Marzo 2004, 00:49 am
por Songoku
parámetros DOS
Scripting
veira69 2 2,472 Último mensaje 24 Enero 2008, 04:58 am
por l337*
Parámetros
Java
h0oke 7 4,770 Último mensaje 26 Marzo 2010, 20:36 pm
por -Ramc-
problemas con parámetros realloc
Ingeniería Inversa
.:UND3R:. 1 2,032 Último mensaje 6 Octubre 2011, 06:02 am
por apuromafo CLS
PARAMETROS EN JAR
Programación General
KristianC10 1 3,595 Último mensaje 27 Noviembre 2015, 20:00 pm
por 0roch1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines