GRAN AYUDA, muchísimas gracias.
Otra duda que tengo, modifiqué el código a esta forma:
Código:
package alturas;
import java.util.Scanner;
public class Alturas {
public static void main(String[] args) {
/* EJERCICIO DE ALTURAS:
- Contabiliza personas de más de 180, entre 180 y 170, entre 170 y 160,
y más bajas que 160cm.
El usuario introduce datos hasta que introduzca un caso de parada
(puede ser un 0 o -1 o cualquier cosa que quiera el programador).
Al final debe mostrarme cuantos hay de cada altura.*/
int contador1=0;// para los mayores de 1.80cm
int contador2=0;//para entre 1.80 y 1.70 cm
int contador3=0;// para entre 1.70 y 1.60 cm
int contador4=0;// para los más bajitos de 1.60 cm
float alintro=0; //altura introducida
Scanner lee;
lee = new Scanner(System.in);
boolean comprobar=true; //control errores (comprobar si es entero)
do{
System.out.print("Introduzca una altura cualquiera (Salir=0): ");
comprobar=lee.hasNextFloat(); //que metas un float no otra cosa
if(comprobar)
{
alintro=lee.nextFloat();
lee.nextLine();
if (alintro>0)//que no se metan alturas negativas
{
if (alintro>1.80)
{
contador1++;
}
else if (alintro<=1.80 && alintro>=1.70)
{
contador2++;
}
else if( alintro<=1.70 && alintro>=1.60)
{
contador3++;
}
else if(alintro<1.60 && alintro!=0)
{
contador4++;
}
}
else
{
//si es menor a 0 da fallo y muestra este mensaje
System.out.println("NADIE PUEDE MEDIR MENOR A 0 CM!!!");
}
}
else
{
System.out.println("El valor introducido no es un float");
lee.next();
lee.nextLine();
}
}while(alintro!=0);
System.out.println("Personas MAYORES 1.80: "+contador1);
System.out.println("Personas ENTRE 1.80 Y 1.70: "+contador2);
System.out.println("Personas ENTRE 1.70 Y 1.60: "+contador3);
System.out.println("Personas MENORES 1.60: "+contador4);
}
}
no consigo que me deje introducir solo los floats, si pongo 1000 me lo contabiliza, no hace bien, ¿como puedo arreglar esto?