Mostrando entradas con la etiqueta JTextArea. Mostrar todas las entradas
Mostrando entradas con la etiqueta JTextArea. Mostrar todas las entradas

sábado, 7 de diciembre de 2013

Arreglo Bidimensional o Matrices en Java

Un array en Java puede tener más de una dimensión. El caso más general son los arrays bidimensionales también llamados matrices o tablas. La dimensión de un array la determina el número de índices necesarios para acceder a sus elementos. Los vectores que hemos visto en otra entrada anterior son arrays unidimensionales porque solo utilizan un índice para acceder a cada elemento. Una matriz necesita dos índices para acceder a sus elementos. Gráficamente podemos representar una matriz como una tabla de n filas y m columnas cuyos elementos son todos del mismo tipo. 

La siguiente figura representa un array M de 3 filas y 5 columnas:


Para procesar ( recordar solo operaciones y comparaciones) internamente todos los elementos de la tabla se ocupan dos ciclos for(), uno externo para controlar renglón y uno interno para controlar columna.

Ejemplo de un Arreglo Bidimensional.

import javax.swing.JOptionPane;
import javax.swing.JTextArea;

public class Arreglo_Bidimensional
{
    public static void main (String args[])
    {
        int arreglo1[][];
        int arreglo2[][];
        int arreglo3[][];
        int Nfilas, Mcolumnas;
        String entrada, entrada1, entrada2;
        
        JTextArea areaSalida = new JTextArea();
        areaSalida.setText("             #########################\n");
        areaSalida.append("                       Arreglo Bidimensional\n");
        areaSalida.append("             #########################\n\n");
        
        entrada = JOptionPane.showInputDialog("Introduce el Numero de Filas para el Arreglo");
        Nfilas = Integer.parseInt( entrada );
        
        entrada1 = JOptionPane.showInputDialog("Introduce el Numero de Columnas para el Arreglo");
        Mcolumnas = Integer.parseInt( entrada1 );
        
        arreglo1 = new int[Nfilas][Mcolumnas];
        arreglo2 = new int[Nfilas][Mcolumnas];
        arreglo3 = new int[Nfilas][Mcolumnas];
        
        areaSalida.append("Numero de filas son:\n  " + Nfilas);
        areaSalida.append("\nNumero de columnas son:\n  " + Mcolumnas + "\n");
        
        int i, j;
        areaSalida.append("Arreglo 1: \n");
        for(i = 0; i < Nfilas; i++)
        {
            for(j = 0; j < Mcolumnas; j++)
            {
                entrada2 = JOptionPane.showInputDialog("Introduzca el elemento de la fila " +(i)+ " y columna " +(j)+" del Arreglo1");
                arreglo1[i][j] = Integer.parseInt( entrada2 );
                areaSalida.append("  " + arreglo1[i][j] + "  - ");              
            }
            areaSalida.append(" \n");
        }
        
        areaSalida.append("Arreglo 2 : \n");
        for(i = 0; i < Nfilas; i++)
        {
            for(j = 0; j < Mcolumnas; j++)
            {
                entrada2 = JOptionPane.showInputDialog("Introduzca el elemento de la fila " +(i)+ " y columna " +(j)+" del Arreglo2");
                arreglo2[i][j] = Integer.parseInt( entrada2 );
                areaSalida.append("  " + arreglo2[i][j] + "  - ");
            }
            areaSalida.append("\n");
        }

        areaSalida.append("La suma del Arreglo 1 + Arreglo 2 = Arreglo 3 \n");
        for(i = 0; i < Nfilas; i++)
        {
            for(j = 0; j < Mcolumnas; j++)
            {
                arreglo3[i][j] = arreglo1[i][j] + arreglo2[i][j];
                areaSalida.append("  " + arreglo1[i][j] + "  +  " + arreglo2[i][j] + "  =  " + arreglo3[i][j] + "\n");
            }
            areaSalida.append("\n");
        }
        
        JOptionPane.showMessageDialog(null, areaSalida);
        }
}
Output:

Pares, Impares + Suma de elementos en un Arreglo

/*******************************************************************************
 *                  Universidad Autonoma de Guerrero                           *
 *                   Unidad Academica de Ingenieria                            *
 *                           Programacion I                                    *
 *============================= Java Tips =====================================*
 ******************************************************************************/
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

public class JavaTips
{
    public static void main (String args[])
    {
        int arreglo[];
        int introducido, elemento;
        String entrada, entrada2;
        
        JTextArea areaSalida = new JTextArea();
        areaSalida.setText("    #########################\n");
        areaSalida.append("\t Java Tips\n");
        areaSalida.append("     #########################\n\n");
        
        entrada = JOptionPane.showInputDialog("Introduce el tamaño del Arreglo");
        introducido = Integer.parseInt(entrada);
        arreglo = new int [introducido];
        
        areaSalida.append("El tamaño del Arreglo es de:\n  " + entrada);
        areaSalida.append("\n\nElementos Introducidos del Arreglo\n");
        
        for (elemento = 0; elemento < introducido; elemento++)
        {
            entrada2 = JOptionPane.showInputDialog("Introduce el elemento " + (elemento + 1) + " para el Arreglo");
            arreglo[elemento] = Integer.parseInt(entrada2);
            areaSalida.append("  " + arreglo[elemento] + ",");
        }

        int suma1 = 0, suma2 = 0;
        areaSalida.append("\n\nLos Numero Pares del Arreglo son\n");
        for (elemento = 0; elemento < introducido; elemento++)
        {
            if( arreglo[elemento]%2==0)
            {
                suma1 = suma1 + arreglo[elemento];
                areaSalida.append("  " + arreglo[elemento] + ",");
            }
        }
        
        areaSalida.append("\n\nLos Numero Impares del Arreglo son\n");
        for (elemento = 0; elemento < introducido; elemento++)
        {
            if( arreglo[elemento]%2!=0)
            {
                suma2 = suma2 + arreglo[elemento];
                areaSalida.append("  " + arreglo[elemento] + ",");
            }
        }
        areaSalida.append("\n\nResultado de la Suma de los Pares\n  " + suma1);
        areaSalida.append("\n\nResultado de la Suma de los Impares\n  " + suma2);
        
        JOptionPane.showMessageDialog( null, areaSalida, "Java Tips", JOptionPane.INFORMATION_MESSAGE);
    }
}
Output:

lunes, 18 de marzo de 2013

si ya existe, insertarlo al final del Arreglo

Introducir elementos de un arreglo y al final agregar un nuevo elemento, si el elemento ya existe en el arreglo insertarlo al final.
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

public class ExamenProgramacion_II
{
    public static void main (String args[])
    {
        int arreglo[];
        int introducido, elemento, NuevoNumero, posicion;
        String entrada, entrada2, entrada3, entrada4;
        
        JTextArea areaSalida = new JTextArea();
        areaSalida.setText("#############################\n");
        areaSalida.append("                      Java Tips\n");
        areaSalida.append("#############################\n\n");
        
        entrada = JOptionPane.showInputDialog("Introduce el tamaño del Arreglo");
        introducido = Integer.parseInt(entrada);
        arreglo = new int [introducido];
        
        areaSalida.append("El tamaño del Arreglo es de:\n " + entrada);
        areaSalida.append("\n\nElementos Originales del Arreglo\n");
        for (elemento = 0; elemento < introducido; elemento++)
        {
            entrada2 = JOptionPane.showInputDialog("Introduce el elemento " + (elemento + 1) + " para el Arreglo");
            arreglo[elemento] = Integer.parseInt(entrada2);
            areaSalida.append("  " + arreglo[elemento] + ",");
        }
        
        entrada3 = JOptionPane.showInputDialog("Introduce el Nuevo Elemento");
        NuevoNumero = Integer.parseInt(entrada3);
        
        entrada4 = JOptionPane.showInputDialog("Introduce la Posicion del Elemento en el Arreglo");
        posicion = Integer.parseInt(entrada4);
        
        areaSalida.append("\n\nArreglo con el Elemento Insertado\n");
        if( NuevoNumero !=  arreglo[posicion] )
        {
            arreglo[posicion] = NuevoNumero;
            for (elemento = 0; elemento < introducido; elemento++)
            {
                areaSalida.append("  " + arreglo[elemento] + ",");
            }
        }
        else
        {
            JOptionPane.showMessageDialog(null, "El elemento ya existe en el Arreglo, se insertara al final");
            for (elemento = 0; elemento < introducido; elemento++)
            {
                areaSalida.append("  " + arreglo[elemento] + ",");
            }
            areaSalida.append("  " + arreglo[posicion] + ",");
        }
        
        JOptionPane.showMessageDialog( null, areaSalida, "Java Tips", JOptionPane.INFORMATION_MESSAGE);  
    }    
}
Output:
 

miércoles, 24 de octubre de 2012

Arreglo Unidimensional

import javax.swing.JOptionPane;
import javax.swing.JTextArea;

public class ArregloUnidimensional
{
    public static void main ( String args[] )
    {
        int arreglo1[];     // Declaramos arreglo1[]
        int arreglo2[];     // Declaramos arreglo2[]
        int introducido;    // Variable que controla el tamaño del arreglo
        int elemento;       // Varibale que nos servira para contar
        String entrada1, entrada2;

        JTextArea areaSalida = new JTextArea();
        areaSalida.setText( "                     Arreglo Unidimensional\n");

        entrada1 = JOptionPane.showInputDialog( "Introduce el Tamaño del Arreglo ");
        introducido = Integer.parseInt( entrada1 );
        arreglo1 = new int [ introducido ];
        arreglo2 = new int [ introducido ];

        for(elemento = 0; elemento < introducido; elemento++)
        {
            entrada2 = JOptionPane.showInputDialog(  "Introduce el elemento " + ( elemento + 1 ) + " para el Arreglo" );
            arreglo2[introducido-(elemento+1)] = arreglo1[elemento] = Integer.parseInt(entrada2);
        }

        areaSalida.append("\nEl tamaño del Arreglo es de:\n  " + entrada1 + "\nElementos del Arreglo A introducidos son: \n");
 for(elemento = 0; elemento < introducido; elemento++)
        {
            areaSalida.append("  " + arreglo1[elemento] + ",");
        }

 //Imprimir en orden inverso
        areaSalida.append("\nElementos del Arreglo B (Orden Inverso) son: \n");
 for(elemento = 0; elemento < introducido; elemento++)
        {
            areaSalida.append("  " + arreglo2[elemento] + ",");
        }
        JOptionPane.showMessageDialog( null, areaSalida, "Arreglo Unidimensional", JOptionPane.INFORMATION_MESSAGE);
    }
}

martes, 23 de octubre de 2012

Ejemplo Arreglo

import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;

public class EjemploArreglo
{
    public static void main (String args[])
    {
        //Creamos un objeto JTextArea con nombre llamado Area y agrega los componentes al frame
        JTextArea Area = new JTextArea(15,40);
        JScrollPane ScrollPane;
        
        // Creamos dos variables de tipo String Ns para tamaño y ValorS para elementos
        String Ns, valorS; 
        int i, j, N, A[]; // Variables de tipo int mas la declaracion del arreglo A[]
        
        // Pide al usuario que ingrese el tamaño del arreglo
        Ns = JOptionPane.showInputDialog("De que tamaño desea el arreglo");
        N = Integer.parseInt(Ns); // Convertimos el dato ingresado (Ns) a tipo int 
        A = new int [N];          // Creamos el arreglo con elementos N
        
        // Ciclo que controlara las pasadas dependiendo del tamaño (N) del arreglo
        for (i=0; i<N; i++) 
        {
            // En cada pasada pedira que el usuario teclee los elementos del arreglo
            valorS = JOptionPane.showInputDialog("Introduzca el elemento" + (i+1) + " para el Arreglo");
            A[i] = Integer.parseInt(valorS); // En cada pasada se almacenara al Arreglo A[i]
        }
        // Mostramos texto con el objeto Area
        Area.setText("Los elementos del arreglo son;\n\n");
        // Ciclo que mostrara en pantalla los elementos introducidos del arreglo 
        for(i=0; i<N; i++)
            
        Area.append("A[ "+ (i+1) + "]  = " + A[i] + "\n");
        ScrollPane = new JScrollPane(Area);
        
        // Mostramos la salida en pantalla
        JOptionPane.showMessageDialog(null, ScrollPane, "Ejemplo de Arreglo", JOptionPane.INFORMATION_MESSAGE);
        
        System.exit(0);  // Terminar el programa
    }  
}

jueves, 18 de octubre de 2012

Multiplication Table

import javax.swing.JOptionPane;
import javax.swing.JTextArea;

public class TablaMultiplicar
{
     public static void main(String args[])
     {
         String Num1; // Numero de la tabla introducido por el usuario
         int A;       // Valor del numero de la tabla a multiplicar
         
         // Creamos un objeto JTextArea con nombre areaSalida y colocamos texto con setText
         JTextArea TextoSalida = new JTextArea();
         TextoSalida.setText("El numero introducido es: ");
         
         // Pide al usuario que introduzca el numero a multiplicar
         Num1 = JOptionPane.showInputDialog("Introduce el Numero de la Tabla a Multiplicar");
         // Convertimos el numero introducido a int con la variable A
         A = Integer.parseInt( Num1 );
         
         // Ciclo que itera 10 veces
         for ( int x=1;x<11;x++ )
         {
             // Concatemos texto incluyendo la operacion de multiplicacion del numero introducido
             TextoSalida.append("\n" + A  + " x " + x + " = " + ( x*A ));
         }
         
         // Mostramos los resultados en pantalla         
         JOptionPane.showMessageDialog( null, TextoSalida, "Obtencion de la Tabla de Multiplicar", JOptionPane.PLAIN_MESSAGE);
        }
}

Entradas populares