Desde la función principal tendrás que crear un array de 10 elemento y los inicializas con valores aleatorias entre 1 y 100. Ahora tendrás que pedir al usuario la posición que desea eliminar del array y hacer una llamada a la función "elimina" pasándole el array y la posición para que elimine el elemento que hay en dicha posición.
Imprime el contenido del array antes y después de la llamada a la función "elimina".
Ejemplo:
Array inicial:
Introduce posición:
> 5
Array después de haber eleminado la posición 5:
15 | 5 | 2 | 90 | 78 | 45 | 32 | 87 | 47 | 5 |
Introduce posición:
> 5
Array después de haber eleminado la posición 5:
15 | 5 | 2 | 90 | 45 | 32 | 87 | 47 | 5 |
SOLUCIÓN EN JAVA:
package eliminaelemento; import java.util.Arrays; import javax.swing.JOptionPane; public class EliminaElemento { static int[] elimina(int[] lista, int posicion){ int []nuevaLista=new int[lista.length-1]; int i; //Primero copio los elementos que hay antes de posición en el nuevo array for (i=0;i < posicion-1;i++){ nuevaLista[i]=lista[i]; } //Y ahora copio los elementos que hay detras de posición en el nuevo array //de este forma el único elemento que no copio es el que hay en la posición "posicion" for (i=posicion;i < lista.length;i++){ nuevaLista[i-1]=lista[i]; } return nuevaLista; } public static void main(String[] args) { int[] lista=new int[10]; int i, posicion; //Genero los 10 números aleatorios para el array for (i=0;i < lista.length;i++){ lista[i]=(int)(Math.random()*100+1); } //Muestro el array inicial System.out.println("Array inicial: "+Arrays.toString(lista)); System.out.println(); try { //Pido al usuario la posición posicion=Integer.parseInt(JOptionPane.showInputDialog("Introduce la posición del elemento que quieres eliminar:")); //llamo a la función para que elimine dicha posición lista=elimina(lista,posicion); //Vuelvo a imprimir la lista System.out.println("Array después de haber eliminado la posición "+posicion+": "+Arrays.toString(lista)); } catch (NumberFormatException e) { JOptionPane.showMessageDialog(null, "Formato incorrecto"); } } }
No hay comentarios:
Publicar un comentario