Avatar billede rasmuslh Nybegynder
28. juli 2006 - 17:43 Der er 2 kommentarer og
1 løsning

Nested For-løkke der driller

Hejsa

Jeg har den underligste for-løkke der opfører sig meget mærkeligt.
Her er min metode der giver problemer:

      private void printFingerTable() {
         
          Hashtable peers = Network.getHashtable();       
         
       

          for(int k=0; k < peers.size(); k++) {
           
              System.out.println(k);           
              Node current = (Node)peers.get(k);
             
              Hashtable fingertable = current.getFingerTable();                       
           
                       
            for(int j = 0; j < fingertable.size(); j++) {
                           
                System.out.println(k);
               
                Node finger = (Node)fingertable.get(j);
               
               
                if (k == 0) {
                    //System.out.println("Bootstrap : Finger nr:" + j + " " + finger.getSHA());
                }
                else {
                      //System.out.println("Node" + k + ": Finger nr:" + j + " " + finger.getSHA());
                }
            }
        }
  }

Den burde vel skrive k og j ud et antal gange afhængigt af mine to hashtables størrelser, men når jeg udskriver dem kommer den aldrig ind i den inderste for-løkke første gang.

Meningen var at den skulle skrive tallene fra 0-20 hver 6 gange. 1 gang i den ydre løkke og 5 gange i den inderste, men den udskriver altid kun 0 en gang ex:

0
1
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
3
3
3
3

Jeg fatter det simpelthen ikke. Hvorfor kører den indre for-løkke ikke ved første kørsel?

Mvh.
Rasmus
Avatar billede mikkelbm Nybegynder
28. juli 2006 - 17:47 #1
Det er meget tvivlsomt det har noget med din forløkke at gøre.

Prøv:

Hashtable fingertable = current.getFingerTable();
System.out.println ("Number of elements: " + fingertable .size());

Så finder du nok ud at, at din 'fingertable' ved index 0 ikke indeholder nogle værdier.
Avatar billede rasmuslh Nybegynder
28. juli 2006 - 18:50 #2
Ahhhh - hvor er jeg dum. Jeg havde stirret mig komplet blind på løkkerne. Super mange tak for hjælpen. Lægger du et svar.
Avatar billede mikkelbm Nybegynder
28. juli 2006 - 20:36 #3
Kommer her...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester