Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Eliminar Valor de un array

Hola Señores.

Estoy aprendiendo JAVA, lo cual me parece uno de los lenguajes de progrmacion mas potentes con los que he trabajado. Pero estoy encajado en la cosa mas tonta y no se como puedo resolver un ejercio que tengo, y me gustaria que alguien me ayudara.

EJERCICIO 2.

Dado el siguiente codio en Java, completa las expresiones que faltan del metodo eliminarElemento, para que elimine el elemento del array que se le pasa como parametro. Cuando se elimine un elemento hay que desplazar los demas, para no dejar hueco.

Codigo:

public class alumnos{
static int [] elementos = new int[15];
private static int totalElementos = 0;

public static void eliminarElemento(int elemento){

int posicion = 0;
int i;
if(totalElementos >0){
while (XXXXXXXXXXXXXXXXXX)
posicion ++;
if(posicion<totalElementos){
for (XXXXXXXXXXXXXXXXXXX){
elementos[i] = elementos[i +1]
}
totalElementos--;
}
}
}
}

Necesito resolver las XXXXXXXXX, pero me gustaria saber aparte de la solucion, el por que de esta solucion.

Muchisimas gracias.

enero 5, 2014 | Registered Commenterjgomez2312

Así es como suelo resolver este tipo de problemas:

import java.util.ArrayList;
import java.util.Arrays;

public class Test {

public static void main(String[] args) {

Integer[] array1 = new Integer[]{1, 2, 3, 4, 5};
ArrayList<Integer> lista = new ArrayList<>(Arrays.asList(array1));
lista.remove(Integer.valueOf(2));
Integer[] nuevoArray1 = lista.toArray(new Integer[lista.size()]);
System.out.println("nuevo " + Arrays.toString(nuevoArray1));

int posicion = 0;
int[] array2 = new int[]{1, 2, 3, 4, 5};
for (int i = 0; i < array2.length; i++) {
if (array2[i] == 2) {
posicion = i;
break;
}
}
int[] nuevoArray2 = new int[4];
System.arraycopy(array2, 0, nuevoArray2, 0, posicion);
System.arraycopy(array2, posicion + 1, nuevoArray2, posicion, nuevoArray2.length - posicion);
System.out.println("nuevo " + Arrays.toString(nuevoArray2));

}

}

enero 6, 2014 | Registered Commenterchoces

Muchisimas gracias,
Esta solucion ya habia contemplado en ella, pero no me sirbe (aunque muchisimas gracias) debido a que este es un programa cerrado y lo unico que tengo que hacer hacer es cambiar las XXXXXX por algo que sea coherente.
No consigo ver la solucion sobre todo del While(XXXXXXXXXX) y tengo que terminar este examen.

enero 7, 2014 | Registered Commenterjgomez2312