Java - juego de operaciones

 
Vista:

juego de operaciones

Publicado por Rebeca (2 intervenciones) el 29/06/2014 23:48:44
el programa, al usuario se le va a ir mostrando operaciones matemáticas que
debe ir resolviendo de forma acumulada. Los números se van a ir generando al azar entre el
0 y el 99. Las operaciones a utilizar son la suma ( + ), resta ( - ) y multiplicación ( * ), los
cuales también se van a escoger al azar.
• Cuando se muestra la primera operación, el usuario debe escribir el resultado, si es correcto,
se toma ese valor y se le agrega otro número y otra operación para que lo vuelva realizar.
• En total se deben realizar 5 operaciones. Si el usuario responde de forma incorrecta, el
programa le muestra un mensaje indicando el resultado correcto y la cantidad de aciertos
que tuvo.

por fa si pudieran ayudarme con este codigo se los agradeceria muchoo ?
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
sin imagen de perfil

juego de operaciones

Publicado por Rookie (4 intervenciones) el 01/07/2014 05:52:51
Esta es la forma en la que yo lo haria, puede que haya formas mas eficientes pero bueno,espero te sirva
ah si el usuario gana todas las rondas no imprime nada ya que las instrucciones no lo pedian no lo puse.
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
public static void main(String[] args) {
    Random r = new Random();
    int resp,num1,num2,contCorrectas =0,num1Correcto = 0;
    char sig;
    boolean correcto = false;
    Scanner leer = new Scanner(System.in);
    char [] signo = {'+','-','*'};
    int [] respCorrecta = new int[5];
    for (int i = 0; i < 5; i++) {
        if(correcto && i> 0){
            System.out.println("Operacion numero " +(i+1)+":");
            num2=r.nextInt(100);
            sig = signo[r.nextInt(3)];
            System.out.println(num1Correcto+""+ sig+"" + num2 + "= ");
            resp = leer.nextInt();
            switch(sig){
                case '+':
                    respCorrecta[i] = num1Correcto+num2;
                    break;
                case '-':
                    respCorrecta[i] = num1Correcto-num2;
                    break;
                case '*':
                    respCorrecta[i] = num1Correcto*num2;
                    break;
            }//switch
            if(respCorrecta[i] == resp){
                correcto = true;
                num1Correcto = respCorrecta[i];
                contCorrectas++;
            }else{
                System.out.println("Respuesta incorrecta!\nLa respuesta correcta es: " + respCorrecta[i] +
                        "\nCantidad de respuestas correctas: "+ contCorrectas);
                break;
            }
 
 
        }else{
            System.out.println("Operacion numero " +(i+1)+":");
            num1=r.nextInt(100);
            num2=r.nextInt(100);
            sig = signo[r.nextInt(3)];
            System.out.println(num1+""+ sig +""+ num2 + "= ");
            resp = leer.nextInt();
            switch(sig){
                case '+':
                    respCorrecta[i] = num1+num2;
                    break;
                case '-':
                    respCorrecta[i] = num1-num2;
                    break;
                case '*':
                    respCorrecta[i] = num1*num2;
                    break;
            }//switch
            if(respCorrecta[i] == resp){
                correcto = true;
                num1Correcto = respCorrecta[i];
                contCorrectas++;
            }else{
                System.out.println("Respuesta incorrecta!\nLa respuesta correcta es: " + respCorrecta[i] +
                        "\nCantidad de respuestas correctas: "+ contCorrectas);
                break;
            }
        }//if
    }
}
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

juego de operaciones

Publicado por Sergio Garnica (1 intervención) el 24/05/2020 20:03:17
Hola buenas tardes mira que al pasar el código sale un error en la fila 2. que dice Random r = new random(); me puedes ayudar a arreglar ese problema
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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

juego de operaciones

Publicado por Rodrigo (623 intervenciones) el 24/05/2020 22:43:32
tal vez no has incluido

1
importa java.util.Random;

al inicio?
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
Imágen de perfil de Sandro
Val: 392
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

juego de operaciones

Publicado por Sandro (166 intervenciones) el 25/05/2020 00:28:51
se elimino esta linea

1
num2=r.nextInt(100);

se elimino este campo
1
num1

se cambio es linea
1
int resp,num2,contCorrectas=0,num1Correcto=r.nextInt(100);

y únicamente se quedo asi, por que siempre me dabe sumas, o restas, y no cambiaba, se elimina la duplicidad de instrucciones
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
public static void main(String[] args) {
    Random r = new Random();
    int resp,num2,contCorrectas=0,num1Correcto=r.nextInt(100);;
    char sig;
    boolean correcto = false;
    Scanner leer = new Scanner(System.in);
    char [] signo = {'+','-','*'};
    int [] respCorrecta = new int[5];
    for (int i = 0; i < 5; i++) {
        System.out.println("Operacion numero " +(i+1)+":");
        num2=r.nextInt(100);
        boolean salida=false;
        int	j=0,v=0;
        do{
            j++;
            v++;
            if(	j	==	signo.length){
                j=0;
            }
            if( v > num2 ){
                salida=true;
            }
        }while(!salida);
        sig=signo[j];
        System.out.println(num1Correcto+""+ sig+"" + num2 + "= ");
        resp = lee_Teclado.obtiene_Datos(1);
        switch(sig){
            case '+':
                respCorrecta[i] = num1Correcto+num2;
                break;
            case '-':
                respCorrecta[i] = num1Correcto-num2;
                break;
            case '*':
                respCorrecta[i] = num1Correcto*num2;
                break;
        }//switch
        if(respCorrecta[i] == resp){
            correcto = true;
            num1Correcto = respCorrecta[i];
            contCorrectas++;
        }else{
            System.out.println("Respuesta incorrecta!\nLa respuesta correcta es: " + respCorrecta[i] +
                    "\nCantidad de respuestas correctas: "+ contCorrectas);
            break;
        }
    }
}


saludos
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