Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2014, 09:39
Juny18
 
Fecha de Ingreso: abril-2007
Mensajes: 166
Antigüedad: 17 años, 1 mes
Puntos: 2
ejercicio alturas con java.

Hola a todos tengo que resolver este problema:

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:
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);
    }
    
}
el caso es que el programa usando netbeans me sale esta excepcion:

¡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?.