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.
Yo tengo este código:
Código:
el caso es que el programa usando netbeans me sale esta excepcion:package alturas; import java.util.Scanner; public class Alturas { public static void main(String[] args) { char salir=0; 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 lector; lector = new Scanner(System.in); do{ System.out.println("¡CONTEMOS ALTURAS ^^ !"); System.out.println("PULSE S PARA SALIR"); System.out.println("Introduzca una altura cualquiera: "); alintro=lector.nextFloat(); lector.nextLine(); 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) { contador4++; } } while(salir=='s'); System.out.print("Personas MAYORES 1.80: "+contador1); System.out.print("Personas ENTRE 1.80 Y 1.70: "+contador2); System.out.print("Personas ENTRE 1.70 Y 1.60: "+contador3); System.out.print("Personas MENORES 1.60"+contador4); } }
¡CONTEMOS ALTURAS ^^ !
PULSE S PARA SALIR
Introduzca una altura cualquiera:
1.60
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextFloat(Scanner.java:2388)
at alturas.Alturas.main(Alturas.java:42)
Java Result: 1
¿Cómo podría solucionar este error?, sé que el fallo está en los ifs cuando les pongo que compare con numeros float, pero como puedo hacer esto?.