Java - Ayuden mi codigo

 
Vista:
sin imagen de perfil

Ayuden mi codigo

Publicado por Daniel (3 intervenciones) el 19/02/2022 04:37:05
Intente hacer un codigo para hacer un juego de adividanzas, pero me sale multiples errores en mi codigo que no puedo saber como corregirlos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package com.mycompany.reto5;
 
import java.util.Scanner;
 
 
public class Reto5DV {
 
 
    public static void main(String[] args) {
 
        Scanner juego = new Scanner(System.in);
        Scanner opcion = new Scanner(System.in);
        int correcto = 0;
        int opci = 0;
        String LetraEscondida[] = new String[3];
        LetraEscondida [0] = "arroz";
        LetraEscondida [1] = "taco";
        LetraEscondida [2] = "queso";
 
    System.out.println("Hora de jugar! :D");
    System.out.println("Seleciona la dificultad: \n1.Facil \n2.Normal \n3.Dificil");
 
    opci = opci.nextInt();
 
    char [] niveles=null;
 
    switch (opci){
        case 1 -> niveles= letras (LetraEscondida [0]);
        case 2 -> niveles= letras (LetraEscondida [1]);
        case 3 -> niveles= letras (LetraEscondida [2]);
    }
 
    char[] palabra = niveles;
    char[] letrax = new char[palabra.length];
 
    for(int i = 0; i<palabra.length; i++){
     letrax[i] = 'x';
    }
 
 
    while (correcto == letrax.length) {
 
        secreto (letrax);
 
    System.out.println("Piensa una letra que podria ser correcta");
    char letraIntro = juego.next().toLowerCase().charAt(0);
 
    for(int i = 0; i<palabra.length;i++)
        if (palabra[i] == letraIntro){
           letrax[i] = palabra[i];
           correcto++;
        }
 
    if(correcto == letrax.length){
    System.out.println ("¡Ganastes!");
    secreto(letrax);
    }
 
    }
 
    private static char [] letras (String wordA){
    char [] wor;
    wor = new char [wordA.length()];
    for(int i = 0; i<wordA.length(); i++)
      wor[i] = wordA.charAt(i);
    return wor;
    }
 
    private static void secreto (char[] resp){
 
    for(int i = 0; i<resp.length;i++)
       System.out.print(resp[i]);
    System.out.println();
 
    }
 
    }
}

Me pueden corregir y ademas decir que salio mal?
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 pablo
Val: 626
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuden mi codigo

Publicado por pablo (239 intervenciones) el 19/02/2022 17:44:01
Hola Daniel aquí está el código corregido existía un problema en el switch case que lo hacias con la y pues no sé en las versiones nuevas de java pero si lo pones de la forma tradicional se muestra, las funciones no van dentro del main van afuera así que pendiente con tus llaves y dónde la cierras del resto tienes que llamar al while en algun momento por que se queda ejecutando pero no muestra nada. Y en el Scanner estas pasando opci cuando deberían ser opcion por que ahí es dónde guardas tu objeto Scanner.Saludos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// Online Java Compiler
// Use this editor to write, compile and run your Java code online
 
import java.util.Scanner;
 
 
public class Reto5DV {
 
 
    public static void main(String[] args) {
 
        Scanner juego = new Scanner(System.in);
        Scanner opcion = new Scanner(System.in);
        int correcto = 0;
        int opci = 0;
        String LetraEscondida[] = new String[3];
        LetraEscondida [0] = "arroz";
        LetraEscondida [1] = "taco";
        LetraEscondida [2] = "queso";
 
    System.out.println("Hora de jugar! :D");
    System.out.println("Seleciona la dificultad: \n1.Facil \n2.Normal \n3.Dificil");
 
    opci = opcion.nextInt();
 
    char [] niveles=null;
 
    switch (opci){
        case 1:
            niveles= letras (LetraEscondida [0]);
            break;
        case 2:
            niveles= letras (LetraEscondida [1]);
            break;
        case 3:
            niveles= letras (LetraEscondida [2]);
            break;
    }
 
    char[] palabra = niveles;
    char[] letrax = new char[palabra.length];
 
    for(int i = 0; i<palabra.length; i++){
     letrax[i] = 'x';
    }
 
 
    while (correcto == letrax.length) {
 
        secreto (letrax);
 
    System.out.println("Piensa una letra que podria ser correcta");
    char letraIntro = juego.next().toLowerCase().charAt(0);
 
    for(int i = 0; i<palabra.length;i++)
        if (palabra[i] == letraIntro){
           letrax[i] = palabra[i];
           correcto++;
        }
 
    if(correcto == letrax.length){
    System.out.println ("Ganastes!");
    secreto(letrax);
    }
 
    }
    }
    private static char [] letras (String wordA){
    char [] wor;
    wor = new char [wordA.length()];
    for(int i = 0; i<wordA.length(); i++)
      wor[i] = wordA.charAt(i);
    return wor;
    }
 
    private static void secreto (char[] resp){
 
    for(int i = 0; i<resp.length;i++)
       System.out.print(resp[i]);
    System.out.println();
 
    }
 
 
}
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

Ayuden mi codigo

Publicado por Daniel (3 intervenciones) el 20/02/2022 01:21:18
Cuando lo compilo, y eligo la difficultad, no aparece las x que tengo que adivinar la letra.

Algo asi tenia que aparecer


Captura-de-pantalla-1220
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