Java - Ayuda con tarea de Vectotres (arreglos) en Java

 
Vista:
Imágen de perfil de Ricardo

Ayuda con tarea de Vectotres (arreglos) en Java

Publicado por Ricardo (5 intervenciones) el 27/08/2015 09:11:40
Hola a tod@s!

Tal vez alguien por acá pueda ayudarme, tengo una tarea de Java donde debo crear una clase Person (abajo adjunto el código), además de una clase VectoManager con varios métodos para manipular la clase Person.

Lo que me está dando dolor de cabeza es que no se cómo utilizar el objeto/vector tipo Person[] personVector; para manipular y llamar los métodos de VectorManager desde una tercera clase Main (ejecutora y controladora).

Este es el enunciado que nos dio el profesor:

Class VectorManager:
Atribute: vector of Person
Methods:
constructors, printVector, getSize, addElement, getElement, findElement(by an attribute), clear
CountPeoplePerLastName, CountPeopleByName, GetPeopleUnderTwenty...

Remember validation vector[index] != null
Main class with tests for all methods


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
public class Person {
 
    private String name,
                   lastName;
    private int age;
 
    //Constructor
    public Person() {
        name = "Desconocido";
        lastName = "Desconocido";
        age = 99;
    }//End of Constructor
 
    public void setName(String nameValue) {
        name = nameValue;
 
    }//End of setName
 
    public void setLastName(String lastNameValue) {
        lastName = lastNameValue;
 
    }//End of setLastName
 
    public void setAge(int ageValue) {
        age = ageValue;
 
    }//End of setAge
 
 
    public String getName() {
        return name;
 
    }//End of getName
 
    public String getLastName() {
        return lastName;
 
    }//End of getLastName
 
    public int getAge() {
        return age;
 
    }//End of getAge
 
 
}// End of class Person

Les agradezco muchisimo de antemano toda la ayuda que me puedan dar.

Saludos!
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

Ayuda con tarea de Vectotres (arreglos) en Java

Publicado por José Antonio (2 intervenciones) el 27/08/2015 23:21:06
Creo que has entendido mal, más bien será llamar a los métodos de una instancia(o varias) de Person mediante la clase VectorManager, es decir, imagino que podrías pasarle al constructor de la clase VectorManager el tamaño que tendrá el array que contiene como atributo para su inicialización, y luego cuando añadas una persona, lo recorres y cuando encuentras un "null" insertas en esa posicion, para imprimir imprimes todo mientras index!=null,el método getElement(int index) es inmediato, clear lo mismo(diría que se refiere a poner todo a null), findElement imagino que se refiere a buscar una persona concreta por ejemplo por su nombre, recorrerías el array hasta que nombre.equals(person.getName()) y lo devolverías, y asi...
Espero haber sido de 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
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda con tarea de Vectotres (arreglos) en Java

Publicado por Andrés Mella Romero (340 intervenciones) el 27/08/2015 23:31:25
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
public class Person {
 
    private String name;
    private String lastName;
    private int age;
 
    public Person() {
        this("Desconocido","Desconocido",99);
    }
 
    public Person(String name, String lastName, int age) {
        this.name = name;
        this.lastName = lastName;
        this.age = age;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getLastName() {
        return lastName;
    }
 
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    @Override
    public String toString() {
        return "Person{" + "name=" + name + ", lastName=" + lastName + ", age=" + age + '}';
    }
 
}

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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
import java.util.Iterator;
import java.util.Vector;
 
public class VectorManager {
 
    private Vector<Person> persons;
 
    public VectorManager() {
        persons = new Vector<Person>();
    }
 
    public void clear() {
        this.persons.clear();
    }
 
    public int getSize() {
        return this.persons.size();
    }
 
    public void printVector() {
 
        Iterator<Person> iterator = this.persons.iterator();
 
        while(iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
 
    public void addPerson(Person person) {
        this.persons.add(person);
    }
 
    public Person getPerson(int index) {
        return this.persons.get(index);
    }
 
    public Vector<Person> findByName(String name) {
 
        if(null == name || name.trim().isEmpty()) {
            throw new IllegalArgumentException("Estas jugando cierto?");
        }
 
        Vector<Person> matches =  new Vector<Person>();
 
        Iterator<Person> iterator = this.persons.iterator();
        Person person = null;
 
        while(iterator.hasNext()) {
 
            person = iterator.next();
 
            if(name.equals(person.getName())) {
 
                matches.add(person);
 
            }
 
        }
 
        return matches;
 
    }
 
    public Vector<Person> findByLastName(String lastName) {
 
        if(null == lastName || lastName.trim().isEmpty()) {
            throw new IllegalArgumentException("Estas jugando cierto?");
        }
 
        Vector<Person> matches =  new Vector<Person>();
 
        Iterator<Person> iterator = this.persons.iterator();
        Person person = null;
 
        while(iterator.hasNext()) {
 
            person = iterator.next();
 
            if(lastName.equals(person.getLastName())) {
 
                matches.add(person);
 
            }
 
        }
 
        return matches;
 
    }
 
    public Vector<Person> findByAge(int age) {
 
        Vector<Person> matches =  new Vector<Person>();
 
        Iterator<Person> iterator = this.persons.iterator();
        Person person = null;
 
        while(iterator.hasNext()) {
 
            person = iterator.next();
 
            if(age == person.getAge()) {
 
                matches.add(person);
 
            }
 
        }
 
        return matches;
 
    }
 
    public Vector<Person> findUnderAge(int age) {
 
        Vector<Person> matches =  new Vector<Person>();
 
        Iterator<Person> iterator = this.persons.iterator();
        Person person = null;
 
        while(iterator.hasNext()) {
 
            person = iterator.next();
 
            if(person.getAge() < age) {
 
                matches.add(person);
 
            }
 
        }
 
        return matches;
 
    }
 
    public int countByLastName(String lastName) {
        return this.findByLastName(lastName).size();
    }
 
    public int countByName(String name) {
        return this.findByName(name).size();
    }
 
}
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