Java - Problemas con acumuladores

 
Vista:

Problemas con acumuladores

Publicado por spiuk (5 intervenciones) el 25/11/2020 11:57:23
Buenos dias!! estoy haciendo un programa para adivinar unos numeros, y me sale todo como quiero hasta que llego a la parte de las estadisticas, No consigo acumular los intentos y las partidas, para mostrarlas al final del juego. Lo he intentado de mil maneras pero no doy con la forma, alguna ayuda?



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
import java.util.*;
 
public class Adivina2 {
   //numero maximo de juego
   public static final int MAX = 10;
 
   public static void main(String[] args) {
      Scanner leerTeclado = new Scanner(System.in);
 
      int intentos = jugar(leerTeclado);
      estadisticas(intentos, intentos);
 
    }//fin main
 
   public static int jugar(Scanner leerTeclado){
      Random rand = new Random();
      int num = rand.nextInt(MAX) + 1;
      int nJugador = 0;
      int intentos = 0;
      int AIntentos = 0;
       //Numero a adivinar
      System.out.println("EL NUMERO RANDOM ES=" + num);
      System.out.println("Adivina un número del 1 al 100");
      do {
         System.out.print("Adivina el número: ");
         nJugador = leerTeclado.nextInt();
         if (nJugador < num){
            System.out.println("El número es MAYOR ");
             }
         else if (nJugador > num){
            System.out.println("El número es MENOR ");
            }intentos ++;
      }while (nJugador != num);
         System.out.println("Has adivinado en " + intentos + " intentos.");
         repetir(leerTeclado);
 
         return intentos;
      }// fin jugarPartida
 
      public static int repetir(Scanner leerTeclado){
         int partidas = 0;
         int APartidas = 0;
         String sn = "";
         String s = "s";
 
         System.out.print("¿Quieres jugar otra vez (S/N)? ");
         sn = leerTeclado.next();
         String snLC = sn.toLowerCase();
         System.out.println();
 
      if (snLC.startsWith(s)){
         jugarPartida(leerTeclado);
      }
      else{
      }partidas ++;
 
      return partidas;
 
      }
 
  public static void estadisticas(int Partidas, int Intentos){
     System.out.println("Resultados del juego:");
     System.out.println("Partidas jugadas: " + Partidas);
     System.out.println("Intentos realizados: "+ Intentos);
     System.out.println("Intentos por partida: " + Intentos / Partidas );
     System.out.println("Mejor partida: ");
   }//fin estadisticas
 
}//fin Adivina progama
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 Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

[CORRECCION] Problemas con acumuladores

Publicado por Billy Joel (876 intervenciones) el 25/11/2020 15:37:54
He visto tu código y lo corrijo así:
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
import java.util.*;
public class Adivina2 {
//numero maximo de juego
 
    public static final int MAX = 10;
    public static int intentosTotales = 0;
    public static int partidas = 0;
 
    public static void main(String[] args) {
        Scanner leerTeclado = new Scanner(System.in);
        //int intentos = jugar(leerTeclado);
        jugar(leerTeclado);
        estadisticas(partidas, intentosTotales);
 
    }//fin main
 
    public static void jugar(Scanner leerTeclado) {
        Random rand = new Random();
        int num = rand.nextInt(MAX) + 1;
        int nJugador;
        int intentos = 0;
        //int AIntentos = 0;
        partidas++;
        //Numero a adivinar
        System.out.println("EL NUMERO RANDOM ES=" + num);
        System.out.println("Adivina un número del 1 al 100");
        do {
            System.out.print("Adivina el número: ");
            nJugador = leerTeclado.nextInt();
            if (nJugador < num) {
                System.out.println("El número es MAYOR ");
            } else if (nJugador > num) {
                System.out.println("El número es MENOR ");
            }
            intentos++;
        } while (nJugador != num);
        System.out.println("Has adivinado en " + intentos + " intentos.");
        intentosTotales += intentos;
        repetir(leerTeclado);
    }// fin jugarPartida
 
    public static void repetir(Scanner leerTeclado) {
        //int partidas = 0;
        //int APartidas = 0;
        String sn;
        String s = "s";
        System.out.print("¿Quieres jugar otra vez (S/N)? ");
        sn = leerTeclado.next();
        String snLC = sn.toLowerCase();
        System.out.println();
        if (snLC.startsWith(s)) {
            //jugarPartida(leerTeclado);
            jugar(leerTeclado);
        }
        //return partidas;
    }
 
    public static void estadisticas(int Partidas, int Intentos) {
        System.out.println("Resultados del juego:");
        System.out.println("Partidas jugadas: " + Partidas);
        System.out.println("Intentos realizados: " + Intentos);
        System.out.println("Intentos por partida: " + Intentos / Partidas);
        System.out.println("Mejor partida: ");
    }//fin estadisticas
 
}//fin Adivina progama

Saludos,
Billy Joel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

[CORRECCION] Problemas con acumuladores

Publicado por spiuk (5 intervenciones) el 29/11/2020 10:47:50
Muchas gracias, con lo facil que era.....
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

Problemas con acumuladores

Publicado por Edatron (7 intervenciones) el 02/12/2021 10:43:58
Hola!

Recupero este hilo ya que tengo un problema parecido a este y observo que en este código no acaba de mostrar la "Mejor partida".
Como se podría solventar esto?

Muchas gracias.
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