Ayuda con bucles
Publicado por Jose Miguel (5 intervenciones) el 11/12/2019 22:27:41
Buenas gente.
Estoy estudiando java en un módulo de diseño de aplicaciones que estoy estudiando, y estamos con los bucles y nos han mandado un ejercicio en el que me he quedado atascado y no entiendo porqué no funciona.
El ejercicio consiste en crear un programa que pida tres numeros de 0 a 100 que tenemos que ingresar por teclado. Hay que hacer un bucle en el caso de no ingresar un numero comprendido en ese rango para que te de error y te vuelva a pedir el numero. Finalmente hay que intercambiar entre dichas variables el valor ingresado. Por ejemplo la variable a, le pusimos un 2 y la b un 10, pues ahora b valdrá 2 y a 10.
Bien, mi problema viene en que el código que pongo no es correcto puesto que directamente no me entra en el bucle, ingrese lo que ingrese me da bien. Creo que el problema viene dado por la condición pero creo que debería estar bien. Dejo el código de lo que llevo hecho para ver si pueden ayudarme. Muchisimas gracias.
package supuesto1;
/
*
* @author josem
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Supuesto1 {
/
* @param args the command line arguments
*/
public static void main(String[] args) {
try{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.println("Inserta un numero entre 0 y 100");
int a = Integer.parseInt(br.readLine());
while(a>100 && a<0){
System.out.println("ERROR: El numero debe estar comprendido entre 0 y 100");
a = Integer.parseInt(br.readLine());
}
System.out.println("Valor de a: "+a);
}catch(Exception e){
e.printStackTrace();
}
}
}
Estoy estudiando java en un módulo de diseño de aplicaciones que estoy estudiando, y estamos con los bucles y nos han mandado un ejercicio en el que me he quedado atascado y no entiendo porqué no funciona.
El ejercicio consiste en crear un programa que pida tres numeros de 0 a 100 que tenemos que ingresar por teclado. Hay que hacer un bucle en el caso de no ingresar un numero comprendido en ese rango para que te de error y te vuelva a pedir el numero. Finalmente hay que intercambiar entre dichas variables el valor ingresado. Por ejemplo la variable a, le pusimos un 2 y la b un 10, pues ahora b valdrá 2 y a 10.
Bien, mi problema viene en que el código que pongo no es correcto puesto que directamente no me entra en el bucle, ingrese lo que ingrese me da bien. Creo que el problema viene dado por la condición pero creo que debería estar bien. Dejo el código de lo que llevo hecho para ver si pueden ayudarme. Muchisimas gracias.
package supuesto1;
/
*
* @author josem
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Supuesto1 {
/
* @param args the command line arguments
*/
public static void main(String[] args) {
try{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.println("Inserta un numero entre 0 y 100");
int a = Integer.parseInt(br.readLine());
while(a>100 && a<0){
System.out.println("ERROR: El numero debe estar comprendido entre 0 y 100");
a = Integer.parseInt(br.readLine());
}
System.out.println("Valor de a: "+a);
}catch(Exception e){
e.printStackTrace();
}
}
}
Valora esta pregunta


0