Java - Problema con el contador de un ciclo for

 
Vista:
sin imagen de perfil
Val: 98
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Problema con el contador de un ciclo for

Publicado por Francisco Emmanuel (60 intervenciones) el 14/05/2021 04:50:50
Buen dia, espero me puedan ayudar, con lo siguiente:

1
2
3
4
5
6
7
8
9
10
public void llenarTrancisiones1() {
    automata1 = new Transiciones[estadosMaquina1.length * alfabeto.length];
    for (int i = 0; i < estadosMaquina1.length; i++) {
        for (int j = 0; j < alfabeto.length; j++) {
            String fin = JOptionPane.showInputDialog(null, "¿El estado " + estadosMaquina1[i].getNombre()
                    + " con el simbolo " + alfabeto[j] + " a que estado q va a pasar?");
            automata1[i] = new Transiciones(estadosMaquina1[i], alfabeto[j], estadosMaquina1[Integer.parseInt(fin)]);
        }
    }
}

tengo el anterior for necesito que el contador i se mantenga por dos veces en el mismo numero es decir tener lo siguiente:

estadosMaquina1[0], alfabeto[0]

estadosMaquina1[0], alfabeto[1]

estadosMaquina1[1], alfabeto[0]

estadosMaquina1[1], alfabeto[1]

no se como hacerlo, espero me puedan ayudar se los agradecería mucho
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema con el contador de un ciclo for

Publicado por Kabuto (1381 intervenciones) el 14/05/2021 12:27:13
Pues tal y como lo tienes escrito debería funcionar como dices.
Con los bucles así anidados, en teoría el contador i no se va a incrementar hasta que el contador j haya completado sus ciclos.

¿No ocurre así?
Puedes añadir un System.out (luego lo quitas) para comprobar en la consola los valores de los contadores:

1
2
3
4
5
6
7
8
9
10
11
public void llenarTrancisiones1() {
    automata1 = new Transiciones[estadosMaquina1.length * alfabeto.length];
    for (int i = 0; i < estadosMaquina1.length; i++) {
        for (int j = 0; j < alfabeto.length; j++) {
            System.out.println("Contador i: " + i + "\tContador j: " + j);
            String fin = JOptionPane.showInputDialog(null, "¿El estado " + estadosMaquina1[i].getNombre()
                    + " con el simbolo " + alfabeto[j] + " a que estado q va a pasar?");
            automata1[i] = new Transiciones(estadosMaquina1[i], alfabeto[j], estadosMaquina1[Integer.parseInt(fin)]);
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 98
Ha aumentado su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Problema con el contador de un ciclo for

Publicado por Francisco Emmanuel (60 intervenciones) el 14/05/2021 23:11:01
Que tal muchas gracias ya pude resolverlo con lo siguiente:

1
2
3
4
5
6
7
8
9
10
public void llenarTrancisiones1() {
    automata1 = new Transiciones[estadosMaquina1.length * alfabeto.length];
    for (int i = 0; i < estadosMaquina1.length; i++) {
        for (int j = 0; j < alfabeto.length; j++) {
            String fin = JOptionPane.showInputDialog(null, "¿El estado " + estadosMaquina1[i].getNombre()
                    + " con el simbolo " + alfabeto[j] + " a que estado q va a pasar?");
            automata1[i * alfabeto.length + j] = new Transiciones(estadosMaquina1[i], alfabeto[j], estadosMaquina1[Integer.parseInt(fin)]);
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar