Advertisement
Marin126

adivinaNumero 22:55

Nov 10th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. import java.util.Scanner;
  7.  
  8. /**
  9. * @author morcintonio
  10. */
  11. public class adivinaNumero {
  12.  
  13. public static void main(String[] args) {
  14. Scanner sc = new Scanner(System.in);
  15. int n;
  16. String respuesta = "";
  17. do {
  18. do {
  19. System.out.println("Digite un 1 para que adivine la máquina, un 2 para que usted adivine el número");
  20. n = Integer.parseInt(sc.nextLine());
  21.  
  22. switch (n) {
  23. case 1:
  24. adivinaMaquina();
  25. break;
  26.  
  27. case 2:
  28. adivinaPersona();
  29. break;
  30. default:
  31. System.out.println("No ha introducido 1 ó 2");
  32. break;
  33. }
  34. } while (n != 1 && n != 2);
  35.  
  36. System.out.println("¿Quieres volver a jugar? si/no");
  37. do {
  38. respuesta = sc.nextLine();
  39. if (!respuesta.trim().equalsIgnoreCase("si") && !respuesta.trim().equalsIgnoreCase("no")) {
  40. System.out.println("Pon si o no");
  41. }
  42.  
  43. } while (!respuesta.trim().equalsIgnoreCase("si") && !respuesta.trim().equalsIgnoreCase("no"));
  44.  
  45. } while (respuesta.trim().equalsIgnoreCase("si"));
  46.  
  47. }
  48.  
  49. public static void adivinaMaquina() {
  50. Scanner sc = new Scanner(System.in);
  51. int min = 1;
  52. int max = 100;
  53. int adivina = 0;
  54. int resultado = 150;
  55. int contador = 0;
  56. String respuesta = "";
  57. do {
  58. adivina = aleatorio(min, max);
  59. System.out.println(adivina);
  60. do {
  61. System.out.println("¿Es mayor, menor o igual al número pensado?");
  62. respuesta = sc.nextLine().toLowerCase().trim();
  63. switch (respuesta) {
  64. case "mayor":
  65. max = adivina - 1;
  66. contador++;
  67. break;
  68. case "menor":
  69. min = adivina + 1;
  70. contador++;
  71. break;
  72. case "igual":
  73. resultado = adivina;
  74. contador++;
  75. break;
  76. default:
  77. System.out.println("No ha puesto mayor, menor o igual.");
  78. }
  79. } while (!(respuesta.trim().equalsIgnoreCase("mayor")
  80. || respuesta.trim().equalsIgnoreCase("menor")
  81. || respuesta.trim().equalsIgnoreCase("igual")));
  82. } while (resultado != adivina);
  83. System.out.println("El número que has pensado es el " + resultado + ". Lo he intentado " + contador + " veces.");
  84.  
  85. }
  86.  
  87. public static void adivinaPersona() {
  88. Scanner sc = new Scanner(System.in);
  89. int min = 1;
  90. int max = 100;
  91. int n = 0;
  92. int cont = 1;
  93. int resultado = aleatorio(min, max);
  94.  
  95. do {
  96. System.out.println("Escribe un número del " + min + " al " + max);
  97. n = Integer.parseInt(sc.nextLine());
  98. if (n < resultado) {
  99. System.out.println("Ese número es MENOR que el que he pensado\n");
  100. min = n + 1;
  101. cont++;
  102. } else if (n > resultado) {
  103. System.out.println("Ese número es MAYOR que el que he pensado\n");
  104. max = n - 1;
  105. cont++;
  106. } else {
  107. System.out.println("Enhorabuena! " + n + " es el número que habia pensado, te ha llevado " + cont + " intentos");
  108. n = resultado;
  109. }
  110.  
  111. } while (n != resultado);
  112.  
  113. }
  114.  
  115. public static int aleatorio(int min, int max) {
  116. return (int) (Math.floor(Math.random() * (max - min)) + min);
  117. }
  118.  
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement