Está en la página 1de 18

ARREGLOS

Un arreglo es una coleccin de objetos numerados del mismo tipo, en donde


cada variable o celda en el arreglo tiene un indice.
Las celdas estan numeradas del 0 al N 1, donde N es el nmero de celdas del
arreglo es decir su capacidad.
Los Indices de un arreglo en Java deben estar dentro de los limites 0 - N-1, de
lo contrario se generara un error durante la ejecucin.

Pasos Para Utilizar un Arreglo

Declare una variable para que contenga el arreglo


Cree un nuevo arreglo de objeto y asignelo a la variable de arreglo
Almacene informacin en ese arreglo
Realice operaciones de almacenamiento y recuperacion con los
elementos del arreglo

Declaracin
Ejemplo:
int notas[ ];
String apellidos[ ];

Creacin de Objetos de Arreglos


a) Utilizando el operador new
Ejemplo:
int notas[ ] = new int[10];
Todas las posiciones se inicializaran automticamente 0 para arreglos
numricos, false para volanos, \0 para arrglos de carcter y null para
objetos.
b) Inicializando directamente el contenido del arreglo
Para esto encierre los elementos del arreglo entre llaves, separandolos
con comas. Al crear elementos con valores iniciales, el arreglo es del
mismo tamao que la cantidad de elementos que ha incluido en las llaves.
Ejemplo:
int notas[ ] = {10,15,20};

Arreglos tipo Tabla


Un arreglo tipo tabla se define como un conjunto de datos del mismo tipo
organizados en dos o ms columnas y una o ms filas.
Para operar y comparar todos los elementos de la tabla se necesitan utilizar dos
for, uno externo para controlar las filas y el otro interno para controlar las
columnas.
Los elementos de la tabla se deberan simbolizar con el nombre del arreglo y 2
sub indices, el primer subndice para referenciar a las filas y el siguiente
subndice para referenciar a las columnas.

Declaracin
Ejemplo:
int ingresos[ ][ ] = new int [3][4];
Integer ingresos[ ][ ] = new integer [3][4];
Recordar que la primera fila y la primera columna de la tabla empezaran en la
posicin 0.

Tamao de un Arreglo
El tamao de un arreglo se almacenara en la variable length, que puede ser
accesada a traves del operador y el nombre del arreglo
nombrearreglo.length

APLICACIONES CON ARREGLOS


1.- Programa q guarda los nombres y calificaciones de 10 estudiantes(0 100), calcula el promedio de todos los estudiantes, el numero de
estudiantes desaprobados(nota < 60) y el numero de estudiantes con nota
perfecta(nota = 100).

public class AplNotas extends Applet implements


java.awt.event.ActionListener {
String Nombre[]=new String[10];
double Nota[]=new double [10];
int cont=0;
double promedio =0.0;
int desaprobados=0;
int notaperfecta =0;
}
public void txtNota_ActionEvents() {
double nota = Double.valueOf(ivjtxtNota.getText()).doubleValue();
if(nota >= 0 && nota <=100)
{
Nombre[cont]=ivjtxtNombre.getText();
Nota[cont]=nota;
ivjlstNombres.add(Nombre[cont]);
ivjlstNotas.add(String.valueOf(Nota[cont]));
cont++;
ivjtxtNombre.setText("");
ivjtxtNota.setText("");
ivjtxtNombre.requestFocus();
}
else
{
ivjtxtNota.setText("");
}

if(cont ==10)
{
ivjbtnMuestra.setEnabled(true);
ivjbtnMuestra.requestFocus();
ivjtxtNombre.setEnabled(false);
ivjtxtNota.setEnabled(false);
}
return;
}
public void btnMuestra_ActionEvents() {
double suma =0.0;
if(cont == 10)
{
for(int i =0;i < cont;i++){
suma = suma + Nota[i];
if (Nota[i]< 60)
desaprobados++;
if (Nota[i]==100)
notaperfecta++;
}
}
promedio = suma/cont;
ivjlblPromedio.setText(String.valueOf(promedio));
ivjlblDesaprobados.setText(String.valueOf(desaprobados));
ivjlblPerfectos.setText(String.valueOf(notaperfecta));
return;
}

2.- Programa q guarda las 7 calificaciones de un estudiante(0 - 100), calcula


el promedio teniendo en cuenta las seis notas mas altas, Mostrar la menor.

public class AplEjer2 extends Applet implements


java.awt.event.ActionListener {
double Nota[]=new double [7];
double promedio =0.0;
int cont=0;
}
public void txtNota_ActionEvents() {
double nota = Double.valueOf(ivjtxtNota.getText()).doubleValue();
if(nota > 0 && nota <=100)
{
Nota[cont]=nota;
ivjlstNotas.add(String.valueOf(Nota[cont]));
cont++;
ivjtxtNombre.setText("");
ivjtxtNota.setText("");
ivjtxtNota.requestFocus();
}
else
{
ivjtxtNota.setText("");
}
if(cont ==7)
{
ivjbtnMuestra.setEnabled(true);
ivjbtnMuestra.requestFocus();
ivjtxtNombre.setEnabled(false);
ivjtxtNota.setEnabled(false);
}
return;
}

public void btnMuestra_ActionEvents() {


double suma =0.0,menor;
menor = Nota[0];
for(int i =0;i < cont;i++){
suma = suma + Nota[i];
if (Nota[i]< menor)
menor=Nota[i];
}
suma = suma - menor;
promedio = suma/6;
ivjlblPromedio.setText(String.valueOf(promedio));
ivjlblNota.setText(String.valueOf(menor));
return;
}

3.- Programa q guarda 15 Nmeros enteros y muestre si dos de estos


cualesquiera suman 15.

public class AplEjer3 extends Applet implements


java.awt.event.ActionListener {
int Numeros[]=new int[15];
int f = 0;
}
public void txtNumero_ActionEvents() {
int n = Integer.valueOf(ivjtxtNumero.getText()).intValue();
Numeros[f]=n;
ivjtxtNumeros.append(n + "\n");
f++;
ivjtxtNumero.setText("");
if(f==15)
{
ivjtxtNumero.setEnabled(false);
ivjbtnMuestra.setEnabled(true);
ivjbtnMuestra.requestFocus();
}
return;
}
public void btnMuestra_ActionEvents() {
boolean es =false;
String a="",b="";
for(int i=1;i<=15;i++){
for(int j=1;j<=15;j++){
if(i!=j){
if(Numeros[i - 1] + Numeros[j - 1] == 15){
es=true;
a=String.valueOf(Numeros[i-1]);
b=String.valueOf(Numeros[j-1]);

if (es == true)
ivjtxtResultado.append("Los Valores que
Suman 15 Son : " + a + "," + b + "\n");
}
else
{
es=false;
}
}
}
}
ivjbtnMuestra.setEnabled(false);
return;
}

4.- Programa q realice una proyeccin del estado del tiempo(Temperatura)


para los prximos 15 das generando aleatoriamente temperaturas
mximas y mnimas de tal forma q la temperatura del da sea el promedio
de las mismas. Temperaturas estn en el rango de 0 36 y no siempre son
enteras.

public class AplTiempo extends Applet implements


java.awt.event.ActionListener {
final int numdias=15;
final int vini=10,vfin=36;
int tmin[] = new int[numdias];
int tmax[] = new int[numdias];
double tprom[]=new double [numdias];
}
public void btnGenera_ActionEvents() {
generarTemperaturaMinimaMaxima();
calcularTemperaturaPromedio();
mensajeGeneracionTemperaturas();
return;
}
public void btnVer_ActionEvents() {
mostrarProyecciones();
return;
}
public void generarTemperaturaMinimaMaxima()
{
for(int dia=0;dia<numdias;dia++)
{
tmin[dia]=numerosAleatorios(vini,vfin);
tmax[dia]=numerosAleatorios(vini,vfin);
}
}

public int numerosAleatorios(int vini,int vfin)


{
int NumAlea;
NumAlea= (int)(Math.random()*(vfin - vini)+vini);
return NumAlea;
}
public void calcularTemperaturaPromedio()
{
for(int dia=0;dia<numdias;dia++)
tprom[dia]=(tmin[dia]+tmax[dia])/2.0;
}
public void mensajeGeneracionTemperaturas()
{
ivjtxtMuestra.setText("");
ivjtxtMuestra.append("Temperaturas Generadas ");
}
public void mostrarProyecciones()
{
mostrarEncabezados();
for(int dia=0;dia<numdias;dia++)
{
ivjtxtMuestra.append(""+(dia + 1));
ivjtxtMuestra.append("\t\t"+ tmin[dia]);
ivjtxtMuestra.append("\t\t"+ tmax[dia]);
ivjtxtMuestra.append("\t\t"+ tprom[dia] +"\n");
}
}
public void mostrarEncabezados()
{
ivjtxtMuestra.setText("");
ivjtxtMuestra.append("Dia ");
ivjtxtMuestra.append("\t T.Minima ");
ivjtxtMuestra.append("\t T.Maxima ");
ivjtxtMuestra.append("\t T.Promedio ");
}

5.- Programa q guarda 15 Nmeros y muestre cuantos son pares e impares.

public class AplParesImpares extends Applet implements


java.awt.event.ActionListener {
int Numeros[]=new int[15];
int f = 0;
}
public void txtNumero_ActionEvents() {
int n = Integer.valueOf(ivjtxtNumero.getText()).intValue();
Numeros[f]=n;
ivjlstNumeros.add(String.valueOf(Numeros[f]));
f++;
ivjtxtNumero.setText("");
if(f==15)
{
ivjtxtNumero.setEnabled(false);
ivjbtnMuestra.setEnabled(true);
ivjbtnMuestra.requestFocus();
}
return;
}
public void btnMuestra_ActionEvents() {
int par=0,impar=0;
for(int i=0;i<=14;i++){
if((Numeros[i]%2)==0)
par++;
else
impar++;
}

ivjtxtMuestra.append("Numeros Pares : " + par + "\n" + "Numeros Impares : " +


impar );
return;
}

6.- Programa q guarda los resultados de 15 estudiantes de sus exmenes


de admisin, las notas deben estar en el rango de 200 a 800. Mostrar el
Numero de Estudiantes q tienen Nota de 200 a 300, de 300 a 400, de 400 a
500, de 500 a 600, 600 a 700 y 700 a 800.

public class AplOficina extends Applet implements


java.awt.event.ActionListener {
String Nombre[]=new String[15];
int Nota[]=new int[15];
int cont=0;
int resu1=0,resu2=0,resu3=0,resu4=0,resu5=0,resu6=0;
}
public void txtNota_ActionEvents() {
int n = Integer.valueOf(ivjtxtNota.getText()).intValue();
if(n >=200 && n <=800){
Nombre[cont]=ivjtxtNombre.getText();
ivjlstAlumnos.add(Nombre[cont]);
Nota[cont]=n;
ivjlstNotas.add(String.valueOf(Nota[cont]));
cont++;
ivjtxtNombre.setText("");
ivjtxtNota.setText("");
ivjtxtNombre.requestFocus();
}
else
{
ivjtxtNota.setText("");
ivjtxtNota.requestFocus();
}

if(cont == 15){
ivjbtnMuestra.setEnabled(true);
ivjbtnMuestra.requestFocus();
ivjtxtNombre.setEnabled(false);
ivjtxtNota.setEnabled(false);
}
return;
}
public void btnMuestra_ActionEvents() {
int suma =0;
for(int i=0;i < cont;i++){
if(Nota[i]>=200 && Nota[i] < 300)
resu1++;
if(Nota[i]>=300 && Nota[i] < 400)
resu2++;
if(Nota[i]>=400 && Nota[i] < 500)
resu3++;
if(Nota[i]>=500 && Nota[i] < 600)
resu4++;
if(Nota[i]>=600 && Nota[i] < 700)
resu5++;
if(Nota[i]>=700 && Nota[i] <= 800)
resu6++;
}
ivjtxtResultados.append("Entre 200 y 300 "+ resu1 + "\n");
ivjtxtResultados.append("Entre 300 y 400 "+ resu2 + "\n");
ivjtxtResultados.append("Entre 400 y 500 "+ resu3 + "\n");
ivjtxtResultados.append("Entre 500 y 600 "+ resu4 + "\n");
ivjtxtResultados.append("Entre 600 y 700 "+ resu5 + "\n");
ivjtxtResultados.append("Entre 700 y 800 "+ resu6 + "\n");
return;
}

7.- Programa q suma dos matrices.

public class AplSuma extends Applet implements


java.awt.event.ActionListener {
int a[][]=new int[2][3];
int b[][]=new int[2][3];
int c[][]=new int[2][3];
int ff=0;
int cc=0;
}
public void txtA_ActionEvents() {
int n=Integer.valueOf(ivjtxtA.getText()).intValue();
a[ff][cc]=n;
ivjtxtMa.append(n + "\t");
cc++;
ivjtxtA.setText("");
if(cc==3)
{
ivjtxtMa.append("\n");
ff++;
cc=0;
if(ff==2){
ivjtxtA.setText("");
ivjtxtA.setEnabled(false);
ivjtxtB.requestFocus();
ff=0;

}
}
return;
}
public void txtB_ActionEvents() {
int n=Integer.valueOf(ivjtxtB.getText()).intValue();
b[ff][cc]=n;
ivjtxtMb.append(n + "\t");
cc++;
ivjtxtB.setText("");
if(cc==3)
{
ivjtxtMb.append("\n");
ff++;
cc=0;
if(ff==2){
ivjtxtB.setText("");
ivjtxtB.setEnabled(false);
ff=0;
for(int f=0;f<2;f++){
for(int j=0;j<3;j++){
c[f][j]=a[f][j]+b[f][j];
ivjtxtMc.append(c[f][j] + "\t");
}
ivjtxtMc.append("\n");
}
}
}
return;
}

8.- Programa q intercambia filas y columnas de una matriz.

public class AplMatriz extends Applet implements


java.awt.event.ActionListener {
int a[][]=new int[3][5];
int f=0;
int c=0;
}
public void txtNumero_ActionEvents() {
int n=Integer.valueOf(ivjtxtNumero.getText()).intValue();
a[f][c]=n;
ivjtxtNumeros.append(n + "\t");
c++;
ivjtxtNumero.setText("");
if(c==5)
{
ivjtxtNumeros.append("\n");
f++;
c=0;
if(f==3){
ivjtxtNumero.setText("");
ivjtxtNumero.setEnabled(false);
ivjbtnMuestra.setEnabled(true);
f=0;
}
}
return;
}

public void btnMuestra_ActionEvents() {


for(int j=1;j<=5;j++){
for(int i=1;i<=3;i++){
ivjtxtResultado.append("" + a[i-1][j-1] + "\t");
if(i==3)
ivjtxtResultado.append("\n");
}
}
return;
}