Para probarlo desde la función principal tendrás que declarar un array de 10 elementos (inicialízalo a mano y muéstralo por consola) y llamar a la función"insertaElemento" pasándole dicho array, y después de haberla llamado y que se haya ejecutado, tendrás que mostrar como ha quedado el array después de la inserción.
Ejemplo:
Array inicial: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Inserta posición:
> 5
Inserta elemento:
> 50
Array después de la inserción: [1, 2, 3, 4, 50, 5, 6, 7, 8, 9]
Inserta posición:
> 5
Inserta elemento:
> 50
Array después de la inserción: [1, 2, 3, 4, 50, 5, 6, 7, 8, 9]
SOLUCIÓN EN JAVA:
package insertaelementoarray;
import java.util.Arrays;
import javax.swing.JOptionPane;
public class InsertaElementoArray {
static void insertaElemento(int[] lista){
int i,elemento,posicion;
try {
do {
posicion=Integer.parseInt(JOptionPane.showInputDialog("Introduce la posición en la que quieres insertar:"));
if (posicion<1 || posicion>lista.length)
JOptionPane.showMessageDialog(null, "La posición tiene que estar entre 1 y "+lista.length);
} while (posicion<1 || posicion>lista.length);
elemento=Integer.parseInt(JOptionPane.showInputDialog("Introduce el elemento que quieres insertar:"));
//Ahora empieza la inserción:
//Primero desplazo a la derecha todos los elementos que hay a partir
//de la posición "posicion-1" (resto 1 porque los arrays empiezan por cero)
for (i=lista.length-1;i>=posicion;i--)
lista[i]=lista[i-1];
lista[i]=elemento;
} catch (NumberFormatException e){
JOptionPane.showMessageDialog(null, "Formato incorrecto");
}
}
public static void main(String[] args) {
int[] numeros={1,2,3,4,5,6,7,8,9,10};
System.out.println(Arrays.toString(numeros));
insertaElemento(numeros);
System.out.println(Arrays.toString(numeros));
}
}
No hay comentarios:
Publicar un comentario