Descripcion :
Programe una aplicacion donde el usuario intente adivinar un numero entre 1 y 500 en menos de 10 oportunidades
Nota : dependiendo del numero que de el usuario ,indique si el numero a adivinar es mayor o menor
import javax.swing.*;
/**
* Write a description of class AdivinarNumero here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class AdivinarNumero
{
/**
* An example of a method - replace this comment with your own
*
* @param y a sample parameter for a method
* @return the sum of x and y
*/
public static void main (String [] args)
{
// put your code here
int numUsuario;
int numAdivinar;
int oportunidad;
//definir el numero que se va a adivinar
numAdivinar = 250;
oportunidad = 1;
//se utilizara un ciclo DO
do
{
numUsuario = Integer.parseInt(JOptionPane.showInputDialog(null,"Que numero crees que sea? (1-500)"));
if(numUsuario == numAdivinar)
{
JOptionPane.showMessageDialog(null,"GANASTE :)" + "\nEl numero es : " + numAdivinar);
oportunidad = 10;
}
else
{
JOptionPane.showMessageDialog(null,"Sigue Intentando" + "\nOportunidad #" + oportunidad);
if(numUsuario<numAdivinar)
{
JOptionPane.showMessageDialog(null,"El numero es mayor");
}
else
{
JOptionPane.showMessageDialog(null,"El numero es menor");
}
}
oportunidad++;
}
while(oportunidad <= 10);
}
}
esto es una especie de busqueda binaria no?
O almenos induce al usuario a realizar una XD
Estaria bueno que genere el numero a buscar de forma aleatoria
Se le agregaria esto cuando se declaran las variables y queda:
Random aleatorio = new Random();
//definir el numero que se va a adivinar
numAdivinar = aleatorio.nextInt(500);
Y si queres saber que numero tira, para probar, sino te moris de angustia buscando XD:
System.out.print(numAdivinar);
Eso va antes de que entre al Do While
Saludos
Me dieron ganas de hacer uno XD bueno el mio te da 3 oportunidades de adivinar un numero del 1 al 10 generado por la computadora aletoriamente
import java.util.*;
class AdivinaelNumero
{
public static void main (String[] args)
{
int Numero, Constante, Intentos, i=0;
Constante = (int)(Math.random()*10);
Scanner Leer = new Scanner(System.in);
do
{
System.out.println("Te quedan " +(3-i) +" Intentos");
System.out.println("Adivina el numero =): ");
Numero = Leer.nextInt();
if(Constante > Numero)
{
System.out.println("El numero es mayor =( \n");
}
else
{
System.out.println("El numero es menor =(\n");
}
i++;
}
while(Numero != Constante && i <3);
if(Numero == Constante)
{
System.out.println("Haz adivinado el numero¡¡¡ =)");
}
}
}
Cita de: [Corruptedyte link=topic=7992.msg28354#msg28354 date=1320601051]
Me dieron ganas de hacer uno XD bueno el mio te da 3 oportunidades de adivinar un numero del 1 al 10 generado por la computadora aletoriamente
import java.util.*;
class AdivinaelNumero
{
public static void main (String[] args)
{
int Numero, Constante, Intentos, i=0;
Constante = (int)(Math.random()*10);
Scanner Leer = new Scanner(System.in);
do
{
System.out.println("Te quedan " +(3-i) +" Intentos");
System.out.println("Adivina el numero =): ");
Numero = Leer.nextInt();
if(Constante > Numero)
{
System.out.println("El numero es mayor =( \n");
}
else
{
System.out.println("El numero es menor =(\n");
}
i++;
}
while(Numero != Constante && i <3);
if(Numero == Constante)
{
System.out.println("Haz adivinado el numero¡¡¡ =)");
}
}
}
Error si pone el numero correcto como la condicion dice :
if(Constante > Numero)
Y luego viene un else
al ser el correcto mostrara lo que viene en el else, por lo que deveria ser mas bien un else if
asi
else if(Constante < Numero)
Y ahora si tu programa estuviera andando bien
No tienes permitido ver los links.
Registrarse o Entrar a mi cuenta
Cita de: [Corruptedyte link=topic=7992.msg28354#msg28354 date=1320601051]
Me dieron ganas de hacer uno XD bueno el mio te da 3 oportunidades de adivinar un numero del 1 al 10 generado por la computadora aletoriamente
import java.util.*;
class AdivinaelNumero
{
public static void main (String[] args)
{
int Numero, Constante, Intentos, i=0;
Constante = (int)(Math.random()*10);
Scanner Leer = new Scanner(System.in);
do
{
System.out.println("Te quedan " +(3-i) +" Intentos");
System.out.println("Adivina el numero =): ");
Numero = Leer.nextInt();
if(Constante > Numero)
{
System.out.println("El numero es mayor =( \n");
}
else
{
System.out.println("El numero es menor =(\n");
}
i++;
}
while(Numero != Constante && i <3);
if(Numero == Constante)
{
System.out.println("Haz adivinado el numero¡¡¡ =)");
}
}
}
Error si pone el numero correcto como la condicion dice :
if(Constante > Numero)
Y luego viene un else
al ser el correcto mostrara lo que viene en el else, por lo que deveria ser mas bien un else if
asi
else if(Constante < Numero)
Y ahora si tu programa estuviera andando bien
o es cierto se me paso hacer ese else if