Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los arreglos se pueden definir como objetos en los que podemos guardar mas de
una variable, es decir, al tener un unico arreglo, este puede guardar multiples
variables guardades deben ser del mismo tipo, por ejemplo: Si tenemos un arreglo
esta lección veremos como declarar y utilizar los arreglos unidimensionales, estos
aplicaciones.
Declaración:
nombre_variable[];"
ejemplos:
String array[]; //donde array es un arreglo que guardara variables tipo Strings
double array2[]; //donde array2 es un arreglo que guardara variabels tipo double
int(numericas)
ejemplo:
capacidad, podemos accesar a los datos dentro del mismo y asignarle valores. Para
arreglo[indicador]=valor;
ejemplos:
su primera posicion
numerico;
variables, entonces se puede accesar a sus elementos con los indicadores del 0 al
9.
array[0] =2;
array[1] = 10;
arra[2] = 7;
Declaración de Variables:
Métodos Elementales:
De Comparación:
De Búsqueda:
De Transformación:
Referencias:
A Objetos: Item r;
A Arreglos
De datos primitivos: int[] p;
De referencias: Item[] q;
De arreglos: int[][] r;
Arreglos Unidimensionales
int[] p;
int q[];
Arreglos Bidimensionales
int[][] r;
int s[][];
Inicializando Referencias
int[] p; // p=null
int[] q = {8,6,4,2};
setProperties(new String[]{"Yes","No"});
import java.util.Vector;
..
Vector p = new Vector();
..
p.add(dato); // p.addElement(dato)
if (p.size()>n) // Tamaño
p.clear(); // p.removeAllElements();
..
dato = (int)p.removeElementAt(i);
..
if ((int)p.elementAt(i)>(int)p.lastElement())
..
Declaración de un arreglo:
int A[]; // A es un arreglo de enteros
int A[10]; // error, el tamaño no va aquí
int[] A; // A es un arreglo de enteros
int A,B[]; // A es un entero, B un arreglo
int[] A,B; // A y B son arreglos
String S[]; // S es un arreglo de strings
S[1]="" // error, el arreglo no ha sido
// creado
Creación de un arreglo
int A[]= new int[10]; // 10 enteros
Subindicación de un arreglo:
A[0], A[1], ..., A[9] // correcto
A[10] // error, índice fuera
// de rango
Modificación de un arreglo:
A[3]= 8;
Tamaño de un arreglo:
A.length // correcto
A.length() // error, sin paréntesis
Inicialización de un arreglo:
for (int i=0; i<A.length; i++)
A[i]= i;
Asignación de punteros a arreglos
int B[];
B= A; // A y B son el mismo arreglo
if (A==B) // Comparación de punteros
// true!
...
A[0]= 10;
B[0] // también 10
Copia de un arreglo:
B= (int[])A.clone();
TEMA 4: ARREGLOS BIDIMENSIONALES TIPO TABLA
Un arreglo tipo tabla se define como un conjunto de datos del mismo tipo organizados en dos o
mas columnas y uno o mas renglones.
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.
Los elementos de la tabla se deberan simbolizar con el nombre de la tabla y 2 subindices, el
primer subindice referencia al renglon y el siguiente subindice referencia la columna los dos
dentro del mismo corchete.
La declaración de una tabla sera de acuerdo a los siguientes formatos:
1) tipodato nomtabla[][]= new tipodato[reng][col];
ejemplo:
int calif[][]=new int[3][4];
double ingresos[][]= new double[3][4];
2) Clasenumerica objetotabla[][]= new constructor[ren][col];
ejemplo;
Integer calif[][]= new Integer[2][3];
Double ingresos[][]=new Double[3][4];
Para capturar sus elementos, usaremos el procedimiento desarrollado con listas.
Para efectuar otros procesos tales como operaciones despliegue con todos los elementos de la
tabla se deberan usar 2 ciclos un for externo para controlar renglon y un for interno para
controlar columna.
Prog11 jsp
<%! int edad[][]=new int[2][3], ren=0, col=0; %>
<%
String temp1=request.getParameter("INSERTAR");
if(temp1==null)temp1=" ";
if(temp1.compareTo("insertar")==0){
if(col < 3){
edad[ren][col]=Integer.parseInt(request.getParameter("EDAD"));
col=col+1;};
if(col == 3){col=0;ren=ren+1;};
if(ren==2) {out.print("TABLA LLENA");};
};
if(request.getParameter("MESES") != null )
{
// operaciones
for(ren=0; ren<=1; ren++)
for(col=0;col<=2;col++)
edad[ren][col]=edad[ren][col]*12;
// DESPLEGANDO USANDO OBJETO TABLE DE HMTL FOR NORMAL
out.println("<table border=2><tr><th>EDAD EN MESES</th></tr>");
for(ren=0; ren<=1; ren++)
{ out.println("<tr>");
for(col=0;col<=2;col++)
{ out.println("<td>"+edad[ren][col]+"</td>"); };
out.println("</tr>"); };
};
// construyendo forma dinamica
out.println("<FORM ACTION=prog11.jsp METHOD=post>");
out.println("DAME EDAD:"+ren+","+col+"<INPUT TYPE=TEXT
NAME=EDAD>");
out.println("<INPUT TYPE=SUBMIT NAME=INSERTAR VALUE=insertar
><BR>");
out.println("<INPUT TYPE=SUBMIT NAME=MESES VALUE=meses><BR>");
out.println("</FORM>");
%>
Corrida:
Notas:
Observar el formato de declaración y como se controlan los indices de captura reng, col.
notas:
El for reng tiene su propio grupo de instrucciones encerrados entre {}. Mientras que el for col
solo tiene una instrucción que ejecutar el print(celda ), el ultimo print(</termina renglon) es del
ciclo for reng).
El renglon de encabezado solo tiene una celda, por eso los otros dos renglones con mas celdas se
ajustarón por su cuenta, para corregir esta situación revisar su tutorial de html(TABLE).
Para inicializar tablas, se debera usar el siguiente formato:
tipodato nomtabla[2][3]={1,2,3,4,5,6 };
TAREAS PROGRAMACION JAVA JSP
1.- CONSTRUIR UN CUADRO QUE CONTENGA LOS COSTOS FIJOS DE CUATRO
PRODUCTOS CUALESQUIERA, QUE SE PRODUCEN EN TRES PLANTAS DIFERENTES
DE UNA EMPRESA MAQUILADORA.
2.- CONSTRUIR UN CUADRO QUE CONTENGA LOS INGRESOS MENSUALES POR
VENTAS DURANTE LOS TRES PRIMEROS MESES DEL AÑO DE CUATRO
SUCURSALES DE UNA CADENA DE AUTO REFACCIONES, AGREGAR AL FINAL
UNA LISTA QUE MUESTRE LOS INGRESOS MENSUALES TOTALES POR MESES Y
UNA SEGUNDA LISTA QUE MUESTRE LOS INGRESOS MENSUALES TOTALES POR
SUCURSAL(2 programas uno capturado y otro inicializado).
3.-CONSTRUIR UN CUADRO QUE CONTENGA LAS COMISIONES GANADAS POR
TRES VENDEDORES, DE LOS 5 TIPOS DE LINEA BLANCA DE CONOCIDA
MUEBLERIA, ADEMAS LISTAS DE COMISIONES TOTALES Y PROMEDIOS
GANADAS POR LOS VENDEDORES, ASI COMO LISTAS DE COMISIONES TOTALES Y
PROMEDIOS POR TIPO DE LINEA BLANCA(inicializado).
ANALIZAR ESTE CODIGO:
' PARA TOTALES Y PROMEDIOS POR RENGLON
FOR R = 0 TO 3
FOR C = 0 TO 2
TOTRENG(R) = TOTRENG(R) + TABLA(R,C)
NEXT C
PROMRENG(R) = TOTRENG(R)/3
NEXT R
'PARA TOTALES Y PROMEDIOS POR COLUMNA
FOR C = 0 TO 2
FOR R = 0 TO 3
TOTCOL(C)=TOTCOL(C) + TABLA(R,C)
NEXT R
PROMCOL(C) = TOTCOL(C) / 4
NEXT C