When choosing option 1 (easy) the program enters case 1 correctly, but when I choose the port (0, 1 or 2) it returns to the menu, the goal is that if the port is right, the next line with the new port sequence (second line of the array) and if it is not the correct port the user should try again. Thank you.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Random;
public class Ejerc9 {
public static void main(String[] args) {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int opcion = 0;
int tenta =0;
int i=0;
int j=0;
int [][] porta = new int [3][3];
Random r = new Random();
// para cada linha
int qual=0;
int cont1=0;
int cont2=0;
int count3=0;
while (opcion != 4) {
System.out.println ("Juego de las 3 Puertas, intente acertar la puerta buena");
System.out.println ("Elige la dificuldad:");
System.out.println ();
System.out.println ("1.Facil");
System.out.println ("2. Medio");
System.out.println ("3. Avanzado");
System.out.println ("4. Salir");
System.out.println ();
String opcionStr = in.readLine ();
opcion = Integer.parseInt(opcionStr);
while (opcion < 1 || opcion > 4) {
System.out.println ("Elige la dificuldad (1,2,3):");
System.out.println ();
System.out.println ("1.Facil");
System.out.println ("2. Medio");
System.out.println ("3. Avanzado");
System.out.println ("4. Salir");
System.out.println ();
opcionStr = in.readLine ();
opcion = Integer.parseInt(opcionStr);
}
switch (opcion) {
case 1:
qual = r.nextInt(3);
for(i =0; i<3;i++){
qual = r.nextInt(3);
porta[i][qual] = 1;
for(j=0; j<3;j++){
}
}
System.out.println ("Elige una Puerta: Tenemos las puertas 0, 1 y 2");
String tentaStr = in.readLine ();
tenta = Integer.parseInt(tentaStr);
while(tenta<0|tenta>2){
System.out.println ("Elige una Puerta valida: Tenemos las puertas 0, 1 y 2");
tentaStr = in.readLine ();
tenta = Integer.parseInt(tentaStr);
while(tenta!=porta[0][qual]){
System.out.println ("Elige otra Puerta");
tentaStr = in.readLine ();
tenta = Integer.parseInt(tentaStr);
}
if(tenta==porta[0][qual]){
i++;
cont1=cont1+1;
System.out.println (" Nivel 2 -Elige una Puerta : Tenemos las puertas 0, 1 y 2");
tentaStr = in.readLine ();
int tenta2 = Integer.parseInt(tentaStr);
while(tenta2<0|tenta2>2){
System.out.println ("Elige una Puerta valida: Tenemos las puertas 0, 1 y 2");
tentaStr = in.readLine ();
tenta2 = Integer.parseInt(tentaStr);}
while(tenta2!=porta[1][qual]){
System.out.println ("Elige otra Puerta");
tentaStr = in.readLine ();
tenta2 = Integer.parseInt(tentaStr);
}
if(tenta2==porta[1][qual]){
i++;
cont1=cont1+1;
System.out.println (" Nivel 3 -Elige una Puerta : Tenemos las puertas 0, 1 y 2");
tentaStr = in.readLine ();
int tenta3 = Integer.parseInt(tentaStr);
while(tenta3<0|tenta3>2){
System.out.println ("Elige una Puerta valida: Tenemos las puertas 0, 1 y 2");
tentaStr = in.readLine ();
tenta3 = Integer.parseInt(tentaStr);}
while(tenta3!=porta[2][qual]){
System.out.println ("Elige otra Puerta");
tentaStr = in.readLine ();
tenta3 = Integer.parseInt(tentaStr);
}
if(tenta3==porta[2][qual]){
i++;
cont1=cont1+1;}
}
}
}
if(cont1==3){
System.out.println ("Congrats!!!");
}
break;
case 2:
break;
case 3:
break;
case 4:
System.out.println("Hasta luego.");
break;
}
}
}
catch(Exception e){
System.out.println("Error 400" +e);
}
}
}