Categorías: Java

Modificar Tamaño Arreglo en Java

Algunas veces nos encontraremos con una interrogante: ¿Debemos Modificar el Tamaño de un Arreglo en Java?, siendo afirmativa la respuesta nos encontramos con una nueva interrogante: ¿Como lo hacemos?. A esta ultima nos hace dudar de la modificacion del tamaño de un arreglo por la definicion de este, recordando que un arreglo es una variable especial que tiene un tamaño fijo, si tiene un tamaño fijo, como es posible modificar su tamaño?
 

Realizando un trabajo de la Universidad me encontre con este dilema y la solucion a este, mas que un «atajo» es la agrupacion de los conceptos vistos en los anteriores post’s, ademas de algo de ingenio y algo de tiempo antes de encontrar la solucion 🙂 Lo primero que debemos de realizar (sin duda alguna) es el algoritmo, lo expresamos mediante Pseudocodigo para tener idea de lo que deseamos y los pasos de como lo vamos a realizar, un ejemplo de esto se muestra en la siguiente imagen:

Pseudocodigo Para El Desarrollo Del Problema

 
Una vez realizado esto empezamos a escribir código, en el camino veremos dos posibles casos al momento de ingresar los elementos al arreglo creado para xi, esto es cuando el arreglo esta vacío, y cuando este ya tiene elementos. Ahora el código en el cual va el enunciado del problema y el código debidamente comentareado para que lo estudien y analicen 😉

import javax.swing.JOptionPane;

/**
 * 
 * la alcaldia de irak desea saber cuantas personas habitan en las viviendas del barrio Campo Santo. Se encuesta y se obtiene los
 * siguientes datos preliminares: 3 1 4 2 1     4 2 2 3 2
 * media aritmetica = ((1*2) + (2*4) + (3*2) + (4*2)) / 10
 * media aritmetica = 2.4
 * 
 */public class ModEsta {

    int personas[], com[];
    int k=0;    
    
    public static void main(String[] args) {
        
       ModEsta x = new ModEsta();
        
       x.menu();
       System.exit(0);
    }
    
    void menu(){
        int op=0;
        
        do{
           op = Integer.parseInt(JOptionPane.showInputDialog("1. Modelo estadistico. n"
                                                           
                                                           + "2. Salir"));
           switch(op){
               case 1:{
                   modEsta();
                   break;
               }              
               case 2:{
                   JOptionPane.showMessageDialog(null, "Ha decidido salir :)");
               }
               
           }
            
        }while(op!=2);
    }
    
    void modEsta(){
        int c, cont=0;
        float trin=0, resul;         
        c= Integer.parseInt(JOptionPane.showInputDialog(null, "Cuantos datos desea ingresar: "));
        personas= new int[c];         
        
        for(int i=0; i

 
En la linea 13 vemos la declaración de dos arreglos, uno es para almacenar los valores, el otro va a ser el que almacene los datos de xi, a este ultimo lo llame com. En las lineas del 86 al 111 creé un metodo para ingresar los elementos al arreglo com, en las lineas 113 a la 124 creé un método para verificar que un elemento ya existe en un arreglo que también esta en otro o.0 No es necesario crear una tabla para fi ya que estos numeros los tenemos en cuenta con un contador, la operación del numerador la realice con una variable que acumula el proceso matemático, esta variable la llame trin 🙂 El resto de lineas es solo logica y tener buenas bases conceptuales.

 
En conclusión, lo que se ha hecho es usar un arreglo temporal el cual almacena los valores del arreglo original, luego se elimina las propiedades (tamaño) del arreglo original y luego se vuelve a crear con un nuevo tamaño, agregando los valores que tenia y el nuevo valor. Si pensamos en almacenar grandes cantidades de datos esta operación resulta tediosa por el procedimiento, pero para esto podemos usar los hilos, claro que este tema va mucho mas adelante 😉 Espero que este post haya sido de gran utilidad, cualquier duda, apunte, o agradecimiento lo pueden dejar en un comentario o compartiendo el post 🙂

Si te ha gustado el post, compártelo, regala un like ó comenta 😉

WP Dev JaGonzalez

Hijo, esposo y padre de un hermoso niño. Amante de los animales, la tecnología, informática y programación. Si tienes alguna duda, inquietud, comentario o deseas comunicarte directamente conmigo, puedes enviarme un correo electrónico a admin@jagonzalez.org

Ver comentarios

Entradas recientes

iPhone Hackeado: Qué Hacer para Proteger tu Dispositivo y Asegurar tu Seguridad

¿Has notado aplicaciones desconocidas o un drenaje inesperado de la batería? Estos podrían ser indicios…

2 semanas hace

Cómo Restablecer un iPhone a su Estado de Fábrica

Saber cómo Restablecer un iPhone a su Estado de Fábrica es clave para solucionar problemas…

2 semanas hace

Motorola planea lanzar al menos dos nuevos teléfonos Moto G en septiembre

Motorola ha confirmado el lanzamiento de Moto G84 5G y Moto G54 5G en India,…

1 año hace

El equipo de WizardLM afirma que un modelo de IA de terceros les robó el trabajo

Recuerde WizardCoder, ¿el codificador de IA que cubrimos recientemente aquí en Windows Report? Nos jactamos…

1 año hace

Las fallas del complemento Jupiter X Core amenazaron a 172.000 sitios web con apropiaciones de cuentas

Los investigadores han descubierto numerosos fallos de seguridad en el complemento WordPress Jupiter X Core…

1 año hace

Consola portátil Xbox: aquí tienes todo lo que necesitas saber al respecto

Para solucionar problemas del sistema de PC con Windows, necesitará una herramienta dedicada Fortect es…

1 año hace