Java - mi codigo no funciona

 
Vista:

mi codigo no funciona

Publicado por Carlos (2 intervenciones) el 28/04/2020 10:48:39
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
int numero;
int recibido;
int Escala = 100;
Random aleatorio = new Random();
Scanner leer = 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 entero: \n");
recibido = leer.nextInt();
 
while ( recibido != numero )
{
if ( recibido > numero+25 ){
System.out.println("El numero es demasiado alto, por favor intenta de nuevo.");}
else if  ( recibido > numero )
  {System.out.println("el numero es muy alto");}
else if(recibido< numero-25)
                {System.out.println("el numero es demasiado bajo");}
else if  (recibido<numero){
  System.out.println("el numero el muy bajo");
        }
 
 
}
 
System.out.println("HA ADIVINADO EL NUMERO!");
 
}
}
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 Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

mi codigo no funciona

Publicado por Franklin (179 intervenciones) el 28/04/2020 14:53:03
Dentro del While solo repites el los mensajes de acuerdo al numero ingresado, pero no ingresas el numero mas de una vez con el scanner.
Podrías usar un do while para recibir el numero en cada iteracion si son diferentes.

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
int numero;
int recibido;
int Escala = 100;
Random aleatorio = new Random();
Scanner leer = 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?");
 
do{
System.out.println("\nPor favor introduzca un entero: \n");
recibido = leer.nextInt();
 
if ( recibido > numero+25 ){
System.out.println("El numero es demasiado alto, por favor intenta de nuevo.");}
else if ( recibido > numero )
{System.out.println("el numero es muy alto");}
else if(recibido< numero-25)
{System.out.println("el numero es demasiado bajo");}
else if (recibido<numero){
System.out.println("el numero el muy bajo");
}
}while (recibido == numero);
System.out.println("HA ADIVINADO EL NUMERO!");
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

mi codigo no funciona

Publicado por Carlos (2 intervenciones) el 28/04/2020 18:19:30
ya puede hacer la comparacion bien, pero solo lo hace una vez y despues muestra el mensaje de "ha adivinado el numero", aunque el numero este mal
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
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

mi codigo no funciona

Publicado por Kabuto (1381 intervenciones) el 28/04/2020 18:59:19
La condición del do while debería ser que se repita mientras recibido sea distinto de numero

1
while (recibido != numero);
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