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