Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ShadowA7X en 24 Agosto 2016, 20:15 pm



Título: ¿Cómo eliminar un elemento de un vector y correr los espacios en java?
Publicado por: ShadowA7X en 24 Agosto 2016, 20:15 pm
Hola que tal estimados. Muchas gracias por ingresar a leer esta pregunta que me tiene algo confuso.

Verán, resulta que vi un ejercicio en un certamen en donde se debía eliminar un elemento de un vector y correr los elementos de las otras posiciones para que así no se perdiera espacio.

Ejemplo de lo que digo:

Código
  1.  
  2. public static void main (String []args){
  3.  
  4. int bus[] = new int [10];
  5.  
  6. for (int i = 0; i <bus.length-2; i++){
  7.  
  8. bus[i]=i*2;
  9. }
  10.  
  11.                bus[0]=1;
  12.  
  13. System.out.println();
  14.  
  15.    for (int i = 0; i <bus.length; i++){
  16.  
  17. System.out.println(bus[i]);
  18. }
  19.  
  20. }
  21.  
  22.  
  23.  


El código de arriaba es sumamente burdo. Simplemente llené las posiciones de un vector dejando las ultimas 2 vacías.

Lo que lanza por pantalla es lo siguiente:

1
2
4
6
8
10
12
14
0
0


Mi pregunta es, imaginándome que yo quiero borrar el numero 8 de ese vector, ¿cómo lo borro y muevo los otros números para que el vector aproveche esa posición eliminada?


Estoy practicando para una evaluación de fin de semestre y me topé con este ejercicio en donde te obligan a trabajar con vectores. Espero me puedan ayudar. De antemano muchas gracias!


Título: Re: ¿Cómo eliminar un elemento de un vector y correr los espacios en java?
Publicado por: bengy en 24 Agosto 2016, 21:58 pm
podrias vaciar todos los demas elementos a un nuevo array


Título: Re: ¿Cómo eliminar un elemento de un vector y correr los espacios en java?
Publicado por: ShadowA7X en 25 Agosto 2016, 16:32 pm
podrias vaciar todos los demas elementos a un nuevo array

Tienes toda la razón, que idiota fui. Bueno, tal vez haya sido producto de la presión mientras estaba realizando el certamen (pues eran muchas cosas) y luego de eso me segué en que no sabía.

Muchas gracias bro.

De todas formas acá dejo el código para quien no le hayan funcionado las neuronas como yo:

Código
  1. public static void main (String []args){
  2.  
  3. int bus[] = new int [10];
  4.  
  5. for (int i = 0; i <bus.length-2; i++){
  6.  
  7. bus[i]=i*2;
  8. }
  9. int cont =0;
  10. int prac[] = new int [10];
  11. int variableEliminar=8;
  12. for (int i = 0; i<bus.length-2; i++){
  13.  
  14. if(bus[i]!=variableEliminar){
  15.  
  16. prac[cont]=bus[i];
  17. cont++;
  18. }
  19. }
  20.  
  21. System.out.println();
  22.  
  23. for (int i = 0; i <bus.length; i++){
  24.  
  25. System.out.println(bus[i]);
  26. }
  27.  
  28. System.out.println();
  29.  
  30.    for (int i = 0; i <prac.length; i++){
  31.  
  32. System.out.println(prac[i]);
  33. }
  34.  
  35.    bus=prac;
  36.  
  37.    System.out.println();
  38.  
  39. for (int i = 0; i <bus.length; i++){
  40.  
  41. System.out.println(bus[i]);
  42. }
  43.  
  44. }
  45.  
  46.  

Tira por pantalla lo siguiente:

0
2
4
6
8
10
12
14
0
0

0
2
4
6
10
12
14
0
0
0

0
2
4
6
10
12
14
0
0
0