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
You are not allowed to view links.
You are not allowed to view links.
Register or Login or You are not allowed to view links.
Register or Login
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