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

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?