hola men

Iniciado por Arny Britos, 17 Julio 2009, 05:38 AM

0 Miembros y 1 Visitante están viendo este tema.

Arny Britos

Tengo un problemita con mi codigo ejercicio vector tipo objeto me da un error al compilar... Quiero una ayudita...


Código (java) [Seleccionar]
public static void main(String[] args) {
       DatosPersona vec[]=new DatosPersona[5];
       CargarDatos carga= new CargarDatos();
       carga.prueba(vec);
       System.out.println("El nombre es: "+ vec[1].nombre);
       System.out.println("El apellido es: "+ vec[1].apellido);
       System.out.println("Su edad es: "+ vec[1].edad);
   }



public class DatosPersona {
   
   public String nombre;
   public int edad;
   public String apellido;

}


public class CargarDatos {
   
  public void prueba (DatosPersona vec[])
    {
      vec[1].nombre="Alberto";
      vec[1].apellido="Gonzalez";
      vec[1].edad=24;
    }
}



MENSAJE DE ERROR AL EJECUTAR

init:
deps-jar:
compile-single:
run-single:
Exception in thread "main" java.lang.NullPointerException
       at matrizobjeto.CargarDatos.prueba(CargarDatos.java:17)
       at matrizobjeto.Main.main(Main.java:20)
Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)

Nakp

declaraste el vector, pero no cada objeto del vector :rolleyes:...

esto va en JAVA y pon el código entre [code=java][/code]

Ojo por ojo, y el mundo acabará ciego.

Arny Britos

amigo te agradezco por haberme contestado.. ;D pero no estoy entendiendo bien es que yo instancie un vector tipo DatosPersonales que es una clase que yo habia creado y segun como entiendo tendria que poder acceder a cada uno de sus metodos y atributos dado que mi vector se convirtio en un objeto de ese tipo clase que insatancie me podes indicar en el codigo como deberia quedar asi lo compilo en mi maquina y lo analizo porfa  ;)

Nakp

no... instanciaste un vector de cierto "tipo" pero cada elemento del vector no ha sido instanciado como objeto

Código (java) [Seleccionar]
public static void main(String[] args) {
DatosPersona vec[]=new DatosPersona[5];
for(i=0;i<vec.lenght();i++)
vect[i] = new DatosPersona();

CargarDatos carga= new CargarDatos();
carga.prueba(vec);
System.out.println("El nombre es: "+ vec[1].nombre);
System.out.println("El apellido es: "+ vec[1].apellido);
System.out.println("Su edad es: "+ vec[1].edad);
}

Ojo por ojo, y el mundo acabará ciego.

Arny Britos

 ;-) ;-) Amigaso sos un idolo te agradezco de aqui a la luna te comento que busque muchisimo en la web ejecicios de este tipo pero no encontraba nada el miercoles tengo un examen en la facu los ejercicios van a estar planteados para trabajar con matrices tipo objeto.. ya no quiero molestarte ya me ayudaste bastante pero de porai conoces algun sitio donde pueda encontrar ejercicios de este tipo seria bueno hasta pronto y gracias... ;-)

Arny Britos

HOLA AMIGO UNA CONSULTA AL TRATAR CREAR DOS MATRICES TIPO OBJETO ME DA EL MISMO ERROR YA PROBE DE VARIAS MANERAS PERO NO ME FUNCIONA SERA QUE ME PODES DAR LA LUZ... DESDE YA TE AGRADEZCO.


public static void main(String[] args) {
       
        CargarDatos matDep[][]=new CargarDatos[5][3];
        for (int i=0;i<matDep.length;i++)
        {
            for(int j=0; j < matDep.length;j++)
            {
                matDep[j]=new CargarDatos();
            }
        }
        DatosPersona matPer[][]=new DatosPersona[5][5];
        for (int i=0;i<matPer.length;i++)
        {
            for (int j=0;j<matDep.length;j++)
            {
                matDep[j]= new CargarDatos();
            }
        }
       
        DatosPersona CARGA= new DatosPersona();
        CARGA.cargar(matPer,matDep);
        for (int i=0;i<5;i++)
        {
            System.out.println(matPer
  • .CodDep);
                System.out.println(matDep
    • .nombre);
              }

          }

Nakp

Código (java,4,6,12,14) [Seleccionar]

public static void main(String[] args) {
     
       CargarDatos matDep[][]=new CargarDatos[5][3];
       for (int i=0;i<matDep.length;i++)
       {
           for(int j=0; j < matDep.length;j++)
           {
               matDep[j]=new CargarDatos();
           }
       }
       DatosPersona matPer[][]=new DatosPersona[5][5];
       for (int i=0;i<matPer.length;i++)
       {
           for (int j=0;j<matDep.length;j++)
           {
               matDep[j]= new CargarDatos();
           }
       }
     
       DatosPersona CARGA= new DatosPersona();
       CARGA.cargar(matPer,matDep);
       for (int i=0;i<5;i++)
       {
           System.out.println(matPer

   * .CodDep);

           System.out.println(matDep

   * .nombre);

       }

   }


length es un método, no un atributo matDep.length()

y NO es el mismo error
Ojo por ojo, y el mundo acabará ciego.