Nested For-løkke der driller
HejsaJeg 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
