[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





eyy muchachos dejense de pendejadas!!!!!!!!!!!
ptm con ustedes):
ellll diestra esta bn bueno papasito mmmmm!!!♥
aa netta ke sii ee amo a diestra
pagina aburrida teamo rodrigo.
el ricardo, el rodrigo y el emmanuel estan bn buenoos ♥.♥
emu cchacha no pongas nombres
eeee riestra dejate de mamadas wei!!
quien es riestraaa D:
eyyy riestra te vamos a putear culero!!!
ewe ewe eweeeee medisenfranck
aaaaaaaaaaayyyyyyyyyyyyyy diestra al 100 al 100
perdoon ;$ ♥________♥
no hay dque pero pongan nombres
el pitufo mlp
C:
pendejo es al rebes
no pongan nombres no pongan nombres
el pitufo esta bn bueno ♥_______♥ ;$
ok riestra te perdono porke estan bn chulo nomas keitale la h
Graseaaas! ily! ♥
auxilio
soy primeriza en java y necesito hacer un programa donde me ordene los numeros de mayor a menor o biseversa alguien podria ayudarme graxias
todos estan buenos y esta pag tambien
Justo lo que estaba buscando, entendi perfectamente. Muchas gracias.
como puedo desplegar un vector de 5 posiciones de valores enteros. Los valores de este vector deben ser generados aleatoriamente???
Ante estos programas debe existir threads para sincronizar las funciones y pueden ser aleatorios. Debe tener en cuenta que los errores pueden ser detectados y eliminados por el sistema.
Buenas noches amigos de la tecnología, la ingeniería y construcción, es un placer saludarlos. A través de tiempo he ido desarrollando varios trabajos que involucran el proceso educativo. Me gustaría aprender de ustedes a orientar objetos con el java interactivo en la modelación de objetos. Para UML ¿Cómo es posible? Cordialmente: Gustavo Salazar Longas