UNIDAD 3: ARREGLOS

TEMA JAVA SERVLET 4: ARREGLOS 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 tantos input text's como celdas tenga la tabla.

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.html

<HTML>
<form action=http://programacionfacil.com:9090/tusitio/servlet/prog11 method=post>
<B> CONCENTRADO CALIFICACIONES</B><br>
..........enero.......febrero....marzo<br>
juan...:<INPUT TYPE=text NAME="cerocero" size=5>
<INPUT TYPE=text NAME="cerouno" size=5>
<INPUT TYPE=text NAME="cerodos" size=5><br>
pedro:<INPUT TYPE=text NAME="unocero" size=5>
<INPUT TYPE=text NAME="unouno" size=5>
<INPUT TYPE=text NAME="unodos" size=5><br>
<input type=submit value="ok">
<input type=reset>
</form> </HTML>

corrida prog11.html

image298.jpg

Notas:

Observar el formato de declaración y como se controlan los indices de captura reng, col.

Prog11.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class prog11 extends HttpServlet
{
public void doPost (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter pagina=response.getWriter();
response.setContentType("text/html");
pagina.println("<HTML>");
// declaracion arreglo
int calif[][]=new int[2][3],ren, col;
// captura
calif[0][0]=Integer.parseInt(request.getParameter("cerocero"));
calif[0][1]=Integer.parseInt(request.getParameter("cerouno"));
calif[0][2]=Integer.parseInt(request.getParameter("cerodos"));
calif[1][0]=Integer.parseInt(request.getParameter("unocero"));
calif[1][1]=Integer.parseInt(request.getParameter("unouno"));
calif[1][2]=Integer.parseInt(request.getParameter("unodos"));
// operaciones dos for y regalando 10 puntos
for(ren=0; ren<=1; ren++)
for(col=0;col<=2;col++)
calif[ren][col]=calif[ren][col]+10;
// DESPLEGANDO USANDO OBJETO TABLE DE HMTL FOR NORMAL
pagina.println("<table border=2><tr><th>CALIFICACION MAS 10</th></tr>");
for(ren=0; ren<=1; ren++)
{ pagina.println("<tr>");
for(col=0;col<=2;col++)
{ pagina.println("<td>"+calif[ren][col]+"</td>"); };
pagina.println("</tr>"); };
pagina.println("</HTML>");
pagina.close();
};
public void destroy(){super.destroy();};
}

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 writeline(celda ), el ultimo writeline(</termina renglon) es del ciclo for reng).

Corrida prog11.java

image299.jpg

notas: 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 SERVLET

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

SUGERENCIA: CONSTRUIR PRIMERO LOS CUADROS EN PAPEL.

Politica de Privacidad