¿Cómo eliminar un elemento de un vector y correr los espacios en java?

Iniciado por ShadowA7X, 24 Agosto 2016, 20:15 PM

0 Miembros y 1 Visitante están viendo este tema.

ShadowA7X

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 (java) [Seleccionar]


public static void main (String []args){

int bus[] = new int [10];

for (int i = 0; i <bus.length-2; i++){

bus[i]=i*2;
}

                bus[0]=1;

System.out.println();

    for (int i = 0; i <bus.length; i++){

System.out.println(bus[i]);
}
   
}





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!

.rn3w.


ShadowA7X

Cita de: .rn3w. en 24 Agosto 2016, 21:58 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 (java) [Seleccionar]

public static void main (String []args){

int bus[] = new int [10];

for (int i = 0; i <bus.length-2; i++){

bus[i]=i*2;
}
int cont =0;
int prac[] = new int [10];
int variableEliminar=8;
for (int i = 0; i<bus.length-2; i++){

if(bus[i]!=variableEliminar){

prac[cont]=bus[i];
cont++;
}
}

System.out.println();

for (int i = 0; i <bus.length; i++){

System.out.println(bus[i]);
}

System.out.println();

    for (int i = 0; i <prac.length; i++){

System.out.println(prac[i]);
}
   
    bus=prac;
   
    System.out.println();

for (int i = 0; i <bus.length; i++){

System.out.println(bus[i]);
}
   
}



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