Cita:
Iniciado por Xerelo Eso no es un Vector, es un Array, y concretamente un Array estático.
En tu caso, el problema es que creas un array vacío de 10 que es static y luego creas uno de 4 con el mismo nombre (mala idea), este concretamente
conductores[] ListaConductores = {tax1, tax2, trans1, trans2};
Si no lo indicas bien, java no sabe a cual te refieres, así que te coge el de 4.
Y desde luego no puedes añadir nuevos registros a ese de 4 porque es un array estático (tamaño fijo)
Gracias por tu respuesta.
Pero me piden en un ejercicio hacer un array estatico de 10 posiciones, para luego añadir los objetos ya creados, es decir los que puse ahi y los que creo yo pidiendolo por teclado.
Ahora se me ocurrió hacerlo así mas o menos como me dijiste:
Código Java:
Ver original//Lo puse sin static
conductores[] ListaConductores = new conductores[10];
//Cree los objetos y los añadí
conductores tax1 = new taxistas("11111111A", "Pepe Ivars", 7);
conductores tax2 = new taxistas("22222222B", "Juan Perez", 5);
conductores trans1 = new transportistas("33333333C", "Miguel Garcia", 50000, 50);
conductores trans2 = new transportistas("44444444D", "Pedro Martinez", 30000, 60);
ListaConductores[0] = tax1;
ListaConductores[1] = tax2;
ListaConductores[2] = trans1;
ListaConductores[3] = trans2;
//Pero ahora por ejemplo si quiero imprimirlo no me funciona... me sale el NullPointerException
Bueno ya conseguí imprimirlo...
Era haciendo:
Código Java:
Ver originalconductores[] ListaConductores = new conductores[10];
//Cree los objetos y los añadí
conductores tax1 = new taxistas("11111111A", "Pepe Ivars", 7);
conductores tax2 = new taxistas("22222222B", "Juan Perez", 5);
conductores trans1 = new transportistas("33333333C", "Miguel Garcia", 50000, 50);
conductores trans2 = new transportistas("44444444D", "Pedro Martinez", 30000, 60);
ListaConductores[0] = tax1;
ListaConductores[1] = tax2;
ListaConductores[2] = trans1;
ListaConductores[3] = trans2;
for (int i = 0; i < ListaConductores.length; i++) {
if(ListaConductores[i] != null){
System.
out.
println(ListaConductores
[i
].
imprimirConductor()); }
}
Pero, ahora tengo el problema en añadir un objeto al array:
Código Java:
Ver originalconductores tax = new taxistas(nif, nom, plazas);
for (int i = 0; i < ListaConductores.length; i++) {
if(ListaConductores[i] == null){ //el problema se que lo tengo exactamente aqui porque lo que doy a entender es que quiero modificar todas las posiciones que esten a null
ListaConductores[i] = tax;
}
}
Por cierto, al utilizar la construccion que me dijiste, me sale mas veces el NullPointerException... no se porque sera...