[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
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
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
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
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
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
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.
170 Comentarios | deja el tuyo





Hola bueno tengo un problema con array donde tengo que pedir 20 numeros enteros y que solo me de los impares
de una forma bidimensional
no entiendo muy bien en estos programas que estan publicados se copia tambien la parte azul
esta chido espero que puedas mandar manuales sobre java
necesito como aser un programa que calcule las marcas de autos y de las ventas realizadas por diferentes empreses es de arreglos
si son arreglos pero dentro de esos arreglos almacenaras bases de datos… el programa es extenso
gracias por el aporte eres lo maximo….:-)
jhj
Muy buen aporte la verdad no me acordaba…..
muy buen post bro, me fue de gran ayuda.
ahora necesito tu ayuda con este problema, es q me da error el codigo. necesito un porgrama q me permita sumar todos los elementos de un arreglo y me devuelva la suma total. ayudame