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?!
dho.gif
dho.gif
dho.gif
dho.gif
dho.gif
dho.gif
dho.gif
dho.gif
dho.gif


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
Discord Ufficiale Entra ora!