Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con algoritmo (array) de una aplicacion web

Estas en el tema de Problema con algoritmo (array) de una aplicacion web en el foro de Java en Foros del Web. Hola a todos, espero que puedan ayudarme, Estoy tratando de desarrollar un algoritmo que me genere un reporte, mi aplicacion es sobre la gestion de ...
  #1 (permalink)  
Antiguo 21/10/2014, 08:20
 
Fecha de Ingreso: junio-2014
Mensajes: 36
Antigüedad: 9 años, 9 meses
Puntos: 0
Exclamación Problema con algoritmo (array) de una aplicacion web

Hola a todos, espero que puedan ayudarme,

Estoy tratando de desarrollar un algoritmo que me genere un reporte, mi aplicacion es sobre la gestion de proyectos de una empresa, en este caso lo que quiero hacer es que el algoritmo me cuente cuantos proyectos se encuentran en el estado de desarrollo (segun la empresa que lo solicito). Para ser mas clara:

Empresa 1, tiene tiene 5 proyectos de los cuales 3 estan en desarrollo.
Empres 2, tiene 3 proyectos de los cuales 1 esta en desarrollo.
Empresa 3, tiene 1 proyecto de los cuales 0 esta en desarrollo.

Algo asi, pero claro en una tabla, ya de eso me encargo yo, lo que quisiera es que me ayuden con el algoritmo.

A continuacion les colocare el codigo con el que he estado trabajando:

Código Java:
Ver original
  1. <table class="tabla_total_proyectos">
  2. <%  int[] id_empresa_ = new int[cant];
  3.        int[] cant_proy_emp = new int[cant];
  4.        int cant_emp = 0;
  5.        
  6.        for(int i=0; i<cant; i++){ //Para no modificar el id_empresa
  7.            id_empresa_[i]=Integer.parseInt(id_empresa[i]);
  8.        }
  9.  
  10.        int[] proyectos_desarrollo_emp = new int[cant];
  11.        int aux = 0; /*Lo necesitamos para resetear lo contado y empezar de 0 nuevamente */
  12.        int aux2=0;
  13.         boolean b_aux2=false;
  14.         int[] estatus_proyecto_emp = new int[cant];
  15.  
  16.         for(int i=0; i<cant; i++){ //Para no modiicar el estatus del proyecto
  17.              estatus_proyecto_emp[i]=Integer.parseInt(estatus_proyecto[i]);
  18.         }
  19.        
  20.        for(int i=0;i<cant;i++){
  21.            for(int j=0;j<cant;j++){
  22.                  if(i!=j && id_empresa_[i] == id_empresa_[j]){ /*La primera condicion es para q no cuente el mismo*/
  23.                         if(estatus_proyecto_emp[j]==1){
  24.                                estatus_proyecto_emp[j]=-99999;
  25.                                 aux2++;
  26.                                 b_aux2=true;
  27.                         }
  28.                         aux++;/*Aumentamos en uno cada ves que se repita*/
  29.                         id_empresa_[j] = -99999;/*Este echo es para que no cuente dos veces o mas el mismo #*/
  30.                   }
  31.              }
  32.              aux++; if(b_aux2){aux2++;}
  33.              if((id_empresa_[i]!= -99999) && (estatus_proyecto_emp[i]!=-99999)){/*para que solo nos muestre los valores que necesitamos*/
  34.                  cant_proy_emp[i] = aux;
  35.                  proyectos_desarrollo_emp[i]=aux2;
  36. %>
  37.                                 <tr>
  38.                                     <td class="barra_fija" rowspan="6">Empresa</td>
  39.                                     <td class="barra_fija">Proyectos</td>
  40.                                     <td class="barra_fija">Desarrollo</td>
  41.                                     <td class="barra_fija">Prueba</td>
  42.                                     <td class="barra_fija">Certificación</td>
  43.                                     <td class="barra_fija">Productivo</td>
  44.                                 </tr>
  45.                                 <tr>
  46.                                     <td rowspan="5" class="barra_no_fija">
  47.                                         <input type="hidden" name="cant_proyecto" value="<%=cant%>">
  48.                                         <%=cant_proy_emp[i]%>
  49.                                     </td>
  50.                                     <td class="barra_no_fija">
  51.                                         <input type="hidden" name="proy_desarrollo" value="">
  52.                                         <%=proyectos_desarrollo_emp[i]%>
  53.                                     </td>
  54.  
  55.                                 </tr>
  56.                            
  57.                            
  58.                              
  59.                                 <% }
  60.                                     aux = 0; aux2=0; b_aux2=false; /*Reseteamos lo contado para la siguiente iteracción*/
  61.                                 } %>
  62.                             </table>
  #2 (permalink)  
Antiguo 21/10/2014, 08:22
 
Fecha de Ingreso: junio-2014
Mensajes: 36
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Problema con algoritmo (array) de una aplicacion web

El algoritmo me suma bien la cantidad de proyectos por empresa, pero no suma bien la cantidad de proyectos en desarrollo por empresa.

Espero puedan ayudarme.
  #3 (permalink)  
Antiguo 21/10/2014, 13:02
 
Fecha de Ingreso: abril-2009
Mensajes: 196
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con algoritmo (array) de una aplicacion web

No leí todo tu código pero lo primero que noto es que usas dos vectores independientes... porque uno usar una matriz? de tal manera que al apuntar a una fila - empresa, podes revisar una columna que tenga la cantidad de proyectos ... mejor aún... porque no creas un List de tipo empresa y como atributo tenes un List tipo Proyecto donde por último, Proyecto tenga un atributo Status ...

Saludos,

Etiquetas: arrays, arreglo, jsp
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:46.