Strano problema nel "contare" (html/servlet)

moo

Nuovo Utente
6
0
Ho una tabella in un foglio excel. I valori sono 5, che si ripetono riga per riga. Il foglio excel l'ho trasformato in una tabella html e nell'intestazione sono andato a creare una checkbox
Codice:
<input type=\"checkbox\" name=\"intestazione\" value='"+k+"' checked=\"yes\" >
con k inizializzato a zero. Lo uso per capire nella servlet successiva quali sono le colonne selezionate.
Seleziono un determinato numero di colonne e, attraverso un form, vado nella successiva servlet per analizzare i dati all'interno delle colonne selezionate e non.

Facendo in questo modo
Codice:
String check[] = request.getParameterValues("intestazione"); // qui trovo le colonne selezionate

 try {
            String cartella="C://Documents and Settings//user//Documenti//NetBeansProjects//prog//build//web//";
            String filePath = cartella + nome;
            FileInputStream fs = new FileInputStream(new File(filePath));
            WorkbookSettings ws = null;
            Workbook workbook = null;
            Sheet s = null;
            Cell rowData[] = null;
            double rowCount = 0.0;
            int columnCount = 0;
            int totalSheets = 0;
            ws = new WorkbookSettings();
            workbook = Workbook.getWorkbook(fs, ws);
            totalSheets = workbook.getNumberOfSheets();
            s = workbook.getSheet(0);
            columnCount=s.getColumns();
            rowCount = s.getRows();
            
            for (int i = 1; i < rowCount; i++) {
                rowData = s.getRow(i);                
                if (rowData.length > 1) {
                    int p=0;
                    for (int j = 0; j < columnCount; j++) {
                        p++;
                        for (int l=0; l<check.length;l++){
                            if(Integer.parseInt(check[l]) == p){ // Vuol dire che ho una cella della Colonna selezionata
                                D.Conta(rowData[j].getContents());                       
                            }
                            else //ho una colonna non selezionata
                                    H.Conta(rowData[j].getContents());
                        }
                    }
                }
                
                out.println("hAA "+ H.getA() ); 
                out.println("hCC "+ H.getC() );
                out.println("hGG "+ H.getG() );
                out.println("hTT "+ H.getT() );
                out.println("hCT "+ H.getCT() ); out.println("<br>");out.println("<br>");
                
                out.println(" dAA "+ D.getA() );
                out.println(" dCC "+ D.getC() );
                out.println(" dGG "+ D.getG() );
                out.println(" dTT "+ D.getT() );
                out.println(" dCT "+ D.getCT() ); out.println("<br>");out.println("<br>");
                
                H.Pulizia();D.Pulizia();
            }        
            
            
            
        } finally {            
            out.close();
        }
Ad occhio mi sembrava giusta, ma quando vado a vedere l'out.println a video i valori del primo if
Codice:
if(Integer.parseInt(check[l]) == p)
sono giusti.
Quelli del 2nd if sono completamenti sballati.

Ho fatto una prova con una tabella con 50colonne e ho selezionato 2 colonne. I valori delle 2 colonne sono giusti, quelle delle colonne non selezionate sono sbagliati.
Dove sbaglio?!


Noto che se seleziono più colonne, l'errore incrementa.

Help me plssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

Se non è chiaro, ditemi dove non lo è. Cosi cercherò di spiegarmi meglio
 

Entra

oppure Accedi utilizzando

Discussioni Simili

Hot del momento