Autor Tema: extraño caso de un matriz en Java trabajando con matrices o tablas de datos  (Leído 3071 veces)

carlosR

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Buen día, este es un código que crea una matriz string, la llena y ubica una fila y la muestra.
El inconveniente es que no entiendo porque no me llena la posicion (0,0) de la matriz, llenando bien el resto. o mejor la llena en blanco. Espero ayuda gracias.
Código: [Seleccionar]
{
        Scanner leer=new Scanner(System.in);
       
        String[] inicial={"Nombre","Cedula","Cargo","Celular","Direccion"};
        int N,M;
        boolean P=false;
        String c;
       
        System.out.println("Digite el numero de registros a tramitar");
        N=leer.nextInt();
       
        String[][]registro=new String[N][5];
        int[][]contador=new int[N][1];
        M=1;
       
    for (int j=0;j<N;j++) 
   
    {
         contador[j][1]= M;
         M=M+1;
        for(int i=0;i<5;i++)
        {   
         System.out.println("digite su "+ inicial[i]);
         registro[j][i]=leer.nextLine();
        }
    }
   
       System.out.println("Digite el numero de cedula a consultar");
       
       c=leer.nextLine();
       
   
for (int j=0;j<N;j++) 
   
    {  if (c.equals(registro[j][1]))
          {
             System.out.println(inicial[0]+"\t"+inicial[1] +"\t"+inicial[2] +"\t"+inicial[3] +"\t"+ inicial[4]);
             System.out.println(registro[j][0]+"\t"+registro[j][1] +"\t"+registro[j][2] +"\t"+registro[j][3] +"\t"+ registro[j][4]);
             P=true;
             
             
          }   
         
        }
       
    if (P==false)
       
    {System.out.println(" Cedula no pertenece a nuestros registros");
    }   
}
}
« Última modificación: 12 de Abril 2016, 20:47 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:extraño caso de un matriz
« Respuesta #1 en: 10 de Abril 2016, 21:24 »
Hola Carlos el código que has facilitado no compila, por favor pega el código completo de forma que podamos compilarlo para poder ayudarte

Saludos

carlosR

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
codigo completo.
« Respuesta #2 en: 11 de Abril 2016, 17:44 »
Código: [Seleccionar]
package javaapplication41;
import java.util.Scanner;

public class JavaApplication41 {

    public static void main(String[] args) {
        Scanner leer=new Scanner(System.in);
       
        String[] inicial={"nombre","cedula","cargo","celular","direccion"};
        int N,p;
        String c;
       
        System.out.println("Digite el numero de registros a tramitar");
        N=leer.nextInt();
       
        String[][]registro=new String[N][5];
       
    for (int j=0;j<N;j++) 
   
    {
        for(int i=0;i<5;i++)
        {   
         System.out.println("digite su "+ inicial[i]);
         registro[j][i]=leer.nextLine();
   
        }
    }
   
       System.out.println("Digite el número de cedula a consultar");
       
       c=leer.nextLine();
       
   
for (int j=0;j<N;j++) 
   
    {  if (c.equals(registro[j][1]))
          {for(int i=0;i<5;i++)
             { System.out.println(inicial[i]+"  "+ registro[j][i]);
             
              }
             
          }   
         
        }
       
}
}
« Última modificación: 12 de Abril 2016, 20:46 por Alex Rodríguez »

pandorum

  • Sin experiencia
  • *
  • Mensajes: 8
    • Ver Perfil
Re:extraño caso de un matriz
« Respuesta #3 en: 12 de Abril 2016, 07:11 »
En base a tu propuesta he hecho esto, molificado como quieras, sería genial que te sirva como referencia. El error tuyo estaba en que para el segundo for va la longitud del array en la posición «i»... por ejemplo:

Código: [Seleccionar]
...

String[][] matrizEjemplo;
....
for(int i=0; i<=matrizEjemplo.length-1; i++)
{
     for(int j=0; j<=matrizEjemplo[i].length-1; j++)
     {
            .....
      }
}


Aquí adjunto una img con el código que le hice para que se guíe: https://www.dropbox.com/s/mai657lw772q6le/Captura%20de%20pantalla%202016-04-12%2000.08.53.png?dl=0
« Última modificación: 12 de Abril 2016, 07:13 por pandorum »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".