Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    63

    Contare il contenuto delle tabelle

    Ho una tabella, di n colonne. Esclusa la prima riga e la prima colonna devo calcolare, per ogni riga, i 2 parametri che sono più frequenti.

    Questo serve per un sito, che sto facendo con servlet.
    Per risolvere il problema ho creato un class

    Codice PHP:
    public class Health {
        private 
    int aa,cc,gg,tt,ct;
        private 
    String a_a,c_c,g_g,t_t,c_t;
        
        
    int i,j;
        
    int max,max2;
        
        
    Vector <Integercontatori = new Vector<Integer>(5);
        
        public 
    Health(){
            
    this.aa=0;
            
    this.cc=0;
            
    this.gg=0;
            
    this.tt=0;
            
    this.ct=0;
            
    contatori.insertElementAt(0aa);
            
    contatori.insertElementAt(1cc);
            
    contatori.insertElementAt(2gg);
            
    contatori.insertElementAt(3tt);
            
    contatori.insertElementAt(4ct);
        }
        
        
        public 
    void setaa(){
                
    aa++;
        }
        public 
    void setcc(){
                
    cc++;
        }
        public 
    void setgg(){
                
    gg++;
        }
        public 
    void settt(){
                
    tt++;
        }
        public 
    void setct(){
                
    ct++;
        }  
        
        public 
    int getaa() {
            return 
    aa;
        }
        public 
    int getcc() {
            return 
    cc;
        }
        public 
    int getgg() {
            return 
    gg;
        }
        public 
    int gettt() {
            return 
    tt;
        }
        public 
    int getct() {
            return 
    ct;
        }
        
        public 
    void aa(int de){
            
    aa-=de;
        }
        public 
    void cc(int de){
            
    cc-=de;
        }
        public 
    void gg(int de){
            
    gg-=de;
        }
        public 
    void tt(int de){
            
    tt-=de;
        }
        public 
    void ct(int de){
            
    ct-=de;
        }
        
        public 
    void Conta(String cella){
            
    a_a="A/A"
            
    c_c="C/C"
            
    g_g="G/G"
            
    t_t="T/T"
            
    c_t="C/T";
            
            if (
    cella.equals(a_a)){
                
    setaa();
            }
            if (
    cella.equals(c_c)){
                
    setcc();
            }
            if (
    cella.equals(g_g)){
                
    setgg();
            }
            if (
    cella.equals(t_t)){
                
    settt();
            }
            if (
    cella.equals(c_t)){
                
    setct();
            }
        }
        
        public 
    void Aggiorna(){
            
    contatori.insertElementAt(getaa(), 0);
            
    contatori.insertElementAt(getcc(), 1);
            
    contatori.insertElementAt(getgg(), 2);
            
    contatori.insertElementAt(gettt(), 3);
            
    contatori.insertElementAt(getct(), 4);
            
    System.out.println(getaa()+","+getcc()+","+getgg()+","+gettt()+","+getct());
        }
        
        public 
    String Elemento(){
            
    max=contatori.elementAt(0);       
            
            for (
    j=0j<contatori.size();j++){
                if (
    max>contatori.elementAt(j))
                    
    max=max;
                else
                    
    max=contatori.elementAt(j);
            }
            
            if (
    max==contatori.elementAt(0)){
                
    aa(10);
                return 
    "A/A";
            }
            if (
    max==contatori.elementAt(1)){
                
    cc(10);
                return 
    "C/C";
            }
            if (
    max==contatori.elementAt(2)){
                
    gg(10);
                return 
    "G/G";
            }
            if (
    max==contatori.elementAt(3)){
                
    tt(10);
                return 
    "T/T";
            }
            else
                
    ct(10);
                return 
    "C/T";
        }
        
        public 
    void Pulisci (){
            
    contatori.removeAllElements();
        } 
    nella servlet ho
    Codice PHP:
    rowCount s.getRows();
    columnCount s.getColumns();
    int colonne columnCount/2;
                
    // Contenuto Tabella
                
    for (int i 1rowCounti++) {
                    
    rowData s.getRow(i);                
                    if (
    rowData.length 1) {
                        
    //out.println("<tr>");
                        
    for (int j=0colonne+1j++) {
                            if (
    rowData[j] != null)
                                
    //out.println("<td>");                        
                                
    H.Conta(rowData[j].getContents());
                                
    //(rowData[j].getContents());
                                //out.println("</td>");
                            
                        
    }
                    }
                      
                    
    H.Aggiorna();
                    
    out.println("
     valore maggiore 1: "
    +H.Elemento()+"
    "
    );
                    
    H.Aggiorna();
                    
    out.println(" valore maggiore 2: "+H.Elemento());
                    
    H.Pulisci();               
                    
    //out.println("</tr>");
                

    il problema è il seguente, anche se nel Vector i contatori funzionano, il metodo Elemnto sembra non funzionare. In quanto mi restituisce stringhe "false". Ovvero, se nella prima riga si ripete 3 volte C/T e 2 volte T/T, il risultato della servlet è
    codice:
    valore maggiore 1: C/T 
    valore maggiore 2: C/T
    dove sbaglio?

    edit, tabella proveniente da file .xls

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    63
    nessuno?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.