Autor Tema: Programa java que adivine un número pensado por el usuario ser humano  (Leído 14708 veces)

flpe45

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
HOla lo que necesito es uj programa que adivine un numero pensado por el ser humano

Yo tengo uno en el que es lo opuesto el humano debe adivinar el numero pero lo que yo quiero es que el PROGRAMA ADIVINE MI NUMERO AYUDAAA!!!!

Código: [Seleccionar]
import java.util.Scanner;
import java.util.Random;

public class AdivinaNumero

{       
public void Adivina()
{     
int numero;
int recibido;
int Escala = 1000;
Random aleatorio = new Random();
Scanner entrada = new Scanner(System.in);
 
numero = aleatorio.nextInt(Escala) + 1;
 
System.out.printf("\nTengo un numero entero entre 1 y %d. ", Escala);
System.out.println("Puede adivinarlo?");
System.out.println("\nPor favor introduzca un numero: \n");
recibido = entrada.nextInt();

while ( recibido != numero )
{   
if ( recibido > numero )

System.out.println("\nEl numero es muy grande, por favor intenta de nuevo.");
recibido = entrada.nextInt();
}   
else

 
System.out.println("\nEl numero es muy chico, por favor intenta de nuevo.");
recibido = entrada.nextInt();
}   

}   

System.out.println("\nHAS ADIVINADO EL NUMERO!");

}           
}       

Este es para poder corre el anterior
Código: [Seleccionar]
import java.util.Scanner;

public class UsaAdivinaNumero

{
       public static void main(String args[])
 
{     

Scanner entero = new Scanner(System.in);
AdivinaNumero miObjeto = new AdivinaNumero();

int centinela = 0;
 
while ( -1 != centinela )
{     
   

miObjeto.Adivina();
 
System.out.printf("\nEste programa propone adivinar un numero. ");
System.out.println("\nQuiere jugar otra vez? Introduzca un numero o -1 para terminar");
centinela = entero.nextInt();
}       

}     
}       
« Última modificación: 14 de Noviembre 2015, 17:27 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Programa java que adivine un número pensado por el usuario ser humano
« Respuesta #1 en: 14 de Noviembre 2015, 17:38 »
Hola flpe45! Por si no lo has leído en otros hilos, siempre recomendamos poner un título conteniendo la descripción del problema y las palabras clave, esto se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Si no lo haces así quien ve el mensaje en el foro no sabe de qué trata el tema y con ello te resultará más difícil que alguien te ayude.

Te indico cuál sería la lógica del juego:

Supongamos que el número pensado debe estar entre 1 y 100.

El computador debe generar un número aleatorio entre 1 y 100 y preguntar, ¿es mayor, menor o exacto?

Si el usuario responde menor, el computador debe calcular el valor medio entre 1 el número introducido y preguntar de nuevo si es mayor, menor o exacto. Debe llevarse una variable con limiteSuperior y otra con limiteInferior

Se sigue procediendo de la misma manera hasta que el usuario responde exacto y el computador responde ¡Por fin lo he conseguido!

Ejemplo: el número pensado es 88. Inicialmente limiteInferior=1 y limiteSuperior=100. El computador genera como aleatorio el 22 y pregunta ¿es mayor, menor o exacto?

Respondemos mayor. Ahora limiteInferior=22 y limiteSuperior=100 El siguiente número es (22+100) / 2 = 61 y el computador pregunta ¿es mayor, menor o exacto?

Respondemos mayor. Ahora limiteInferior=61 y limiteSuperior=100 El siguiente número es (61+100)/2 = 81.5 redondeo hacia abajo 80 y el computador pregunta ¿es mayor, menor o exacto?

Respondemos mayor. Ahora limiteInferior=80 y limiteSuperior=100 El siguiente número es (80+100)/2 = 90 y el computador pregunta ¿es mayor, menor o exacto?

Respondemos menor. Ahora limiteInferior=80 y limiteSuperior=90 El siguiente número es (80+90)/2 = 85 y el computador pregunta ¿es mayor, menor o exacto?

Respondemos mayor. Ahora limiteInferior=85 y limiteSuperior=90. el siguiente número es (85+90)/2 = 87.5 redondeo inferior 87 y el computador pregunta ¿es mayor, menor o exacto?

Respondemos mayor. Ahora limiteInferior=87 y limiteSuperior=90. El siguiente número es (87+90)/2 = 88.5 redondeo inferior 88 y el computador pregunta ¿es mayor, menor o exacto?

Respondemos exacto y el computador responde ¡Por fin lo he conseguido! y termina el programa

Si no sabes cómo implementar esta lógica recomendable seguir el curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".