Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/06/2015, 10:52
SwagSwag
 
Fecha de Ingreso: junio-2015
Mensajes: 11
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Problema con vectores o arrays, añadir y borrar

Cita:
Iniciado por Xerelo Ver Mensaje
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
  1. //Lo puse sin static
  2. conductores[] ListaConductores = new conductores[10];
  3.  
  4. //Cree los objetos y los añadí
  5. conductores tax1 = new taxistas("11111111A", "Pepe Ivars", 7);
  6. conductores tax2 = new taxistas("22222222B", "Juan Perez", 5);
  7.        
  8. conductores trans1 = new transportistas("33333333C", "Miguel Garcia", 50000, 50);
  9. conductores trans2 = new transportistas("44444444D", "Pedro Martinez", 30000, 60);
  10.  
  11. ListaConductores[0] = tax1;
  12. ListaConductores[1] = tax2;
  13. ListaConductores[2] = trans1;
  14. ListaConductores[3] = trans2;
  15.  
  16. //Pero ahora por ejemplo si quiero imprimirlo no me funciona... me sale el NullPointerException

Bueno ya conseguí imprimirlo...

Era haciendo:

Código Java:
Ver original
  1. conductores[] ListaConductores = new conductores[10];
  2.  
  3. //Cree los objetos y los añadí
  4. conductores tax1 = new taxistas("11111111A", "Pepe Ivars", 7);
  5. conductores tax2 = new taxistas("22222222B", "Juan Perez", 5);
  6.        
  7. conductores trans1 = new transportistas("33333333C", "Miguel Garcia", 50000, 50);
  8. conductores trans2 = new transportistas("44444444D", "Pedro Martinez", 30000, 60);
  9.  
  10. ListaConductores[0] = tax1;
  11. ListaConductores[1] = tax2;
  12. ListaConductores[2] = trans1;
  13. ListaConductores[3] = trans2;
  14.  
  15. for (int i = 0; i < ListaConductores.length; i++) {
  16.     if(ListaConductores[i] != null){
  17.         System.out.println(ListaConductores[i].imprimirConductor());
  18.     }
  19. }


Pero, ahora tengo el problema en añadir un objeto al array:

Código Java:
Ver original
  1. conductores tax = new taxistas(nif, nom, plazas);
  2.            
  3. for (int i = 0; i < ListaConductores.length; i++) {
  4.     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
  5.         ListaConductores[i] = tax;
  6.       }
  7. }

Por cierto, al utilizar la construccion que me dijiste, me sale mas veces el NullPointerException... no se porque sera...

Última edición por SwagSwag; 16/06/2015 a las 12:18