Java - Cómo puedo introducir varios objetos en un array??????

 
Vista:
sin imagen de perfil

Cómo puedo introducir varios objetos en un array??????

Publicado por Esteban (5 intervenciones) el 20/12/2017 12:04:23
Hola a tod@s !!!
Mi problema es el siguiente...
Quiero mostrar por pantalla cualquiera de los objetos de la clase Persona a través de su dni,pero solo
logro hacerlo con uno de ellos,el resto no lo reconoce. Sé que debe ser porque en el array hay solo un objeto y por lo tanto,no el bucle for no tiene nada que recorrer.

He probado de varias formas,pero todas saltan errores.

Os dejo el código.

Saludos y gracias!!!

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
Scanner t = new Scanner(System.in);
 
Persona p [ ]=new Persona[4];
int total = 0;
 
 
Persona p1 = new Persona("Juan","Calle 1","12345"); //nombre,direccion,dni
Persona p2 = new Persona("Vera","calle 2","abcde");
Persona p3 = new Persona("Nicolás","calle 3","ABCDE");
Persona p [ ] =  {p1,p2,p3};
 
p [total] = p1;
p [total] = p2;
p [total] = p3;
total ++;
 
System.out.print("Introduce el DNI del cliente que quieres ver: ");
String dni = t.next();
 
Persona buscado = null;
for(int i = 0; i < total && buscado == null; i++){
	if(p[i].getDni().equals(dni)){
		buscado = p[i];
	}
}
 
if(buscado != null){
	System.out.println("\nCliente encontrado\n");
	System.out.println(buscado);
}else{
	System.out.println("No se ha encontrado el cliente indicado");
}
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
Val: 358
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cómo puedo introducir varios objetos en un array??????

Publicado por Nicolas (137 intervenciones) el 20/12/2017 12:08:32
Hola Esteban.
Prueba en tu codigo modificar el for si es ese el problema:

1
2
3
4
5
6
7
Persona buscado = null;
for(int i = 0; i < 3; i++){ //Explicar
if(p[i].getDni().equals(dni)){
buscado = p[i];
break;
}
}

Espero te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Cómo puedo introducir varios objetos en un array??????

Publicado por Esteban (5 intervenciones) el 20/12/2017 12:36:42
Hola Nicolas!
Muchas gracias!
Te comento,funciona solo con los objetos p2 y p3.Al intorducir el dni de p1 (12345) me dice que no se ha encontrado el objeto.

Saludos y gracias!
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
Val: 358
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cómo puedo introducir varios objetos en un array??????

Publicado por Nicolas (137 intervenciones) el 20/12/2017 13:02:46
Esteban te paso un ejemplo que hice recién y me funciona.

El Objeto Persona:

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
/**
 *
 * @author nicolas
 */
public class Persona {
    private String dni, nombre, apellido;
 
    public String getDni() {
        return dni;
    }
 
    public void setDni(String dni) {
        this.dni = dni;
    }
 
    public String getNombre() {
        return nombre;
    }
 
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
 
    public String getApellido() {
        return apellido;
    }
 
    public void setApellido(String apellido) {
        this.apellido = apellido;
    }
 
    public Persona(String dni, String nombre, String apellido) {
        this.dni = dni;
        this.nombre = nombre;
        this.apellido = apellido;
    }
 
    @Override
    public String toString() {
        return "Persona{" + "dni=" + dni + ", nombre=" + nombre + ", apellido=" + apellido + '}';
    }
}



La Clase Principal:

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
import java.util.Scanner;
 
/**
 *
 * @author nicolas
 */
public class PruebaArray {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
 
        Scanner entrada = new Scanner(System.in);
        Persona p[] = new Persona[3];
 
        Persona p1 = new Persona("12345", "Juan", "Perez"); //nombre,direccion,dni
        Persona p2 = new Persona("abcde", "Alex", "Vera");
        Persona p3 = new Persona("ABCDE", "Nicolás", "Artus");
        p[0] = p1;
        p[1] = p2;
        p[2] = p3;
 
        Persona tmp=null;
        System.out.println("Ingrese DNI a buscar:");
        String dni= entrada.next();
        for (int i = 0; i < 3; i++) {
            tmp=p[i];
            if(tmp.getDni().equals(dni)){
                System.out.println(tmp);
                break;
            }
        }
    }
 
}


Espero te sirva de ayuda. Abrazo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Cómo puedo introducir varios objetos en un array??????

Publicado por Esteban (5 intervenciones) el 20/12/2017 13:31:28
Funciona a la perfección .genial,muchas gracias..:)

Lo que has hecho es en lugar de meter todos los objetos en la variable total,los has tratado individualmente asignándole la posición dentro del array no??
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
Val: 358
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cómo puedo introducir varios objetos en un array??????

Publicado por Nicolas (137 intervenciones) el 20/12/2017 13:45:47
Claro. Puedes agregar los objetos al array de las 2 formas.
Yo por lo general lo hago así cuando tienes que ir agregando de a uno pidiendo datos al usuario. Te pasé ese ejemplo para que te ayude en tu trabajo.
Cualquier cosa puedes consultar. Abrazo desde Uruguay.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Cómo puedo introducir varios objetos en un array??????

Publicado por Esteban (5 intervenciones) el 20/12/2017 13:51:49
Pues me has ayudado mucho!!
Gracias!!
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