gentoo linux, java, software libre y otras hierbas
Dic, 05 2007 - 12:45 pm

[código] Arreglos (arrays) en Java (1)

Los arreglos en Java son objetos, demostrando el compromiso de Java con la orientación a objetos. En esta sección se encuentran diversos ejemplos de arreglos unidimensionales y multidimensionales, y se exponen las manipulaciones más comunes de estos. También el proceso de pasar arreglos a métodos y las técnicas elementales para ordenar y realizar búsquedas, junto con la presentación de la búsqueda binaria como una mejora sobre la búsqueda lineal. Veámos algunos ejemplos:

Creación de un arreglo

// Creación de un arreglo.
import javax.swing.*;

public class InicArreglo {

   public static void main( String args[] )
   {
      int arreglo[];            // declarar la referencia a un arreglo

      arreglo = new int[ 10 ];  // crear el arreglo

      String salida = "Índice\tValor\n";

      // anexar el valor de cada elemento del arreglo al String salida
      for ( int contador = 0; contador < arreglo.length; contador++ )
         salida += contador + "\t" + arreglo[ contador ] + "\n";

      JTextArea areaSalida = new JTextArea();
      areaSalida.setText( salida );

      JOptionPane.showMessageDialog( null, areaSalida,
         "Inicialización de un arreglo de valores int",
         JOptionPane.INFORMATION_MESSAGE );

      System.exit( 0 );

   } // fin de main

} // fin de la clase InicArreglo


Descargar código fuente

Inicialización de un arreglo con los enteros pares del 2 al 20

// Inicialización de un arreglo con los enteros pares del 2 al 20.
import javax.swing.*;

public class Inic2Arreglo {

   public static void main( String args[] )
   {
      final int LONGITUD_ARREGLO = 10;    // constante
      int arreglo[];                    // referencia a un arreglo int

      arreglo = new int[ LONGITUD_ARREGLO ];  // crear el arreglo

      // calcular el valor para cada elemento del arreglo
      for ( int contador = 0; contador < arreglo.length; contador++ )
         arreglo[ contador ] = 2 + 2 * contador;

      String salida = "Índice\tValor\n";

      for ( int contador = 0; contador < arreglo.length; contador++ )
         salida += contador + "\t" + arreglo[ contador ] + "\n";

      JTextArea areaSalida = new JTextArea();
      areaSalida.setText( salida );

      JOptionPane.showMessageDialog( null, areaSalida,
         "Inicialización con enteros pares del 2 al 20",
         JOptionPane.INFORMATION_MESSAGE );

      System.exit( 0 );

   } // fin de main

} // fin de la clase InicArreglo


Descargar código fuente

Sumar el total de los valores de los elementos de un arreglo

// Sumar el total de los valores de los elementos de un arreglo.
import javax.swing.*;

public class SumarArreglo {

   public static void main( String args[] )
   {
      int arreglo[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
      int total = 0;

      // sumar el valor de cada elemento al total
      for ( int contador = 0; contador < arreglo.length; contador++ )
         total += arreglo[ contador ];

      JOptionPane.showMessageDialog( null,
         "Total de elementos del arreglo: " + total,
         "Sumar los elementos de un arreglo",
         JOptionPane.INFORMATION_MESSAGE );

      System.exit( 0 );

   } // fin de main

} // fin de la clase SumarArreglo


Descargar código fuente

Programa para imprimir histogramas

// Programa para imprimir histogramas.
import javax.swing.*;

public class Histograma {

   public static void main( String args[] )
   {
      int arreglo[] = { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 };

      String salida = "Elemento\tValor\tHistograma";

      // para cada elemento del arreglo, mostrar una barra en el histograma
      for ( int contador = 0; contador < arreglo.length; contador++ ) {
         salida += "\n" + contador + "\t" + arreglo[ contador ] + "\t";

         // imprimir barra de asteriscos
         for ( int estrellas = 0; estrellas < arreglo[ contador ]; estrellas++ )
            salida += "*";

      } // fin de instrucción for externa

      JTextArea areaSalida = new JTextArea();
      areaSalida.setText( salida );

      JOptionPane.showMessageDialog( null, areaSalida,
         "Programa para imprimir histogramas", JOptionPane.INFORMATION_MESSAGE );

      System.exit( 0 );

   } // fin de main

} // fin de la clase Histograma


Descargar código fuente

Simulación del lanzamiento de una dado utilizando arreglos

// Tirar un dado de seis lados 6000 veces.
import javax.swing.*;

public class TirarDadoArr {

   public static void main( String args[] )
   {
      int frecuencia[] = new int[ 7 ];

      // tirar un dado 6000 veces; usar el valor del dado como índice de frecuencia
      for ( int tiro = 1; tiro <= 6000; tiro++ )
         ++frecuencia[ 1 + ( int ) ( Math.random() * 6 ) ];  

      String salida = "Cara\tFrecuencia";

      // anexar frecuencias al String salida
      for ( int cara = 1; cara < frecuencia.length; cara++ )
         salida += "\n" + cara + "\t" + frecuencia[ cara ];

      JTextArea areaSalida = new JTextArea();
      areaSalida.setText( salida );

      JOptionPane.showMessageDialog( null, areaSalida,
         "Tirar un dado 6000 veces", JOptionPane.INFORMATION_MESSAGE );

      System.exit( 0 );

   } // fin de main

} // fin de la clase TirarDado


Descargar código fuente

Simulación de votación de estudiantes utilizando arreglos

// Programa de votación de los estudiantes.
import javax.swing.*;

public class VotacionEstudiantes {

   public static void main( String args[] )
   {
      int respuestas[] = { 1, 2, 6, 4, 8, 5, 9, 7, 8, 10, 1, 6, 3, 8, 6,
         10, 3, 8, 2, 7, 6, 5, 7, 6, 8, 6, 7, 5, 6, 6, 5, 6, 7, 5, 6,
         4, 8, 6, 8, 10 };
      int frecuencia[] = new int[ 11 ];

      // para cada respuesta, seleccionar el elemento de respuestas y usar ese valor
      // como índice en frecuencia para determinar el elemento a incrementar
      for ( int respuesta = 0; respuesta < respuestas.length; respuesta++ )
         ++frecuencia[ respuestas[ respuesta ] ];

      String salida = "Calificación\tFrecuencia\n";

      // anexar frecuencias al String salida
      for ( int calificacion = 1; calificacion < frecuencia.length; calificacion++ )
         salida += calificacion + "\t" + frecuencia[ calificacion ] + "\n";

      JTextArea areaSalida = new JTextArea();
      areaSalida.setText( salida );

      JOptionPane.showMessageDialog( null, areaSalida,
         "Programa de votación de estudiantes", JOptionPane.INFORMATION_MESSAGE );

      System.exit( 0 );

   } // fin de main

} // fin de la clase VotacionEstudiantes


Descargar código fuente

Etiquetas: ejemplos, java
Los ejercicios utilizados en este post están basados en ejemplos del libro Cómo programar en Java de Deitel, y por lo tanto están bajo la licencia que esta editorial disponga.

61 Comentarios | deja el tuyo

Un enlace entrante

60 Comentarios en “[código] Arreglos (arrays) en Java (1)”

  1. isa dice:

    ola chico muy bien tu aporte, un codigo muy limpio y claro, pero me pregunto si no tenés ejemplos de la clase vector :-) ))

  2. laura dice:

    necesito su ayuda por favor me mandaron un programa en java que calcule la cantidad de articulos de una empresa sabiendo que dicha empresa tiene tres departamentos tambien se desea la cantidad de articulos por departamento …datos de entrada…a)codigo de articulo
    b)cantidad
    c) descripcion espero su respuesta gracias

  3. jesus esteban dice:

    bueno primero que nada les mando un cordial saludo bueno la presencia mia en esta pagina es para desirles que tengo un problema con una materia que se llama fundamentos de programacion espero y me ayuden, se trata de que voy aser una r y me piden un programa que lea 10 numeros y me de la calificacion de cada uno porfis se los pido mañana es el examne y la verdad quiero salir bien en el examen bueno es todo muchas gracias

  4. hugh dice:

    jesus hazlo con un arreglo
    for(int i=0;<10;i++)
    {
    System.out.println("Calificacion ")
    calificaciones[i] = teclado.readLine();
    }

  5. fa dice:

    hola, necesito hacer un programa que me ordene los numeros de un arreglo… plis help me!!! no se como hacer eso… gracias

  6. fa dice:

    otra vez yop =D algien sabe como hacer un arreglo de numeros aleatorios y que me indique el maximo, el minimo, y el promedio? plis help… grax!!!! =D

  7. sandy dice:

    hola para todos
    Nesecito Elaborar un programa que calcule la nota definitiva de los estudiantes de una materia aleatoria. El programa debe almacenar la nota correspondiente de cada alumno con su nombre. Al finalizar el programa debe imprimir:

    -El nombre del estudiante y su nota final.
    -El promedio de curso.
    .

  8. manuel02 dice:

    necesito ayuda de como agregar, listar y eliminar en un arraylist

  9. osler dice:

    ayudenme con estos siguientes ejercicios:
    *Una aplicacion que maneje una matriz cuadrada donde el tamaño de la matriz sera determinada por el usuario.
    *Una aplicacion que halle la determinante de la matriz de 3X3.
    *Realizar una aplicacion que permita capturar la matriz inversa o la inversa de la matriz, siempre de 3X3 lados
    *Una de n X la determinante de la matriz.
    y por ultimo la determinante X B.
    Gracias y por cierto todos en java no en NetBens.

  10. Mauricio dice:

    oigan necesito varios programas en java de unos arreglos

  11. Mire!! dice:

    Hola buenos dias!! stoy haciendo un programa en java que calcula la afinidad de tres carreras stoy manejando la informacion en matrices.. como hago para compararlas??

  12. Gabby dice:

    mmm Necesito ayuda… no c como agregar valores en un arreglo… solicitandolos desde un showInputDialog

¡Déjanos tu comentario!