For do java 5

3 respostas
S

Oiii pessoalll!!
Alguém pode me dizer como faço pra converter o for abaixo (que está no java 5) para um for no Java 1.4

for (Estado e: estados) {

Nodo filho = new Nodo( e, this);

if (podar) {

if (usarFechado && fechados != null) {

Integer custo = (Integer) fechados.get(e);

if (custo == null || filho.g < custo.intValue()) { // nao esta em fechados ou tem custo menor

sucNodo.add(filho);

fechados.put(e, filho.g);

}

} else if (filho.ehDescendenteNovo(this)) { // poda os filhos que tem um ascensor igual a ele

sucNodo.add(filho);

}

} else {

sucNodo.add(filho);

}

}

valeuuu!!
beijuuu

3 Respostas

kaique

Depende…

Se estado for uma List, vc pode fazer assim:

for(int i = 0; i &lt estados.size(); i++) {
   Estado e = (Estado)estados.get(i);
   /* o resto do codigo eh igual */
}

Ou se for um array, pode ser assim:

for(int i = 0; i &lt estados.length; i++){
   Estado e = estados[i];
   /* o resto do codigo eh igual */
}

qualker coisa posta…
[]'s.

cassio

Então, o grande problema ai é saber o tipo de “estado”, isso é um vetor de primitivos/objetos, uma lista, um Vector, o que!?
Vou dar o exemplo supondo que seja um vetor :slight_smile:

for (int i = 0; i < estados.length; i++) {
Nodo filho = new Nodo( estados[i], this);
if (podar) {
if (usarFechado && fechados != null) {
Integer custo = (Integer) fechados.get(estados[i]);
if (custo == null || filho.g < custo.intValue()) { // nao esta em fechados ou tem custo menor
sucNodo.add(filho);
fechados.put(estados[i], filho.g);
}
} else if (filho.ehDescendenteNovo(this)) { // poda os filhos que tem um ascensor igual a ele
sucNodo.add(filho);
}
} else {
sucNodo.add(filho);
}
}

Falou!

C

Usa o iterator

Criado 19 de setembro de 2006
Ultima resposta 19 de set. de 2006
Respostas 3
Participantes 4