Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/10/2011, 05:49
c0c
 
Fecha de Ingreso: octubre-2004
Mensajes: 38
Antigüedad: 20 años, 4 meses
Puntos: 0
else if desobediente

Hola a todos.

Estaba haciendo una pequeña aplicacion para consola que emula un alcoholimetro, y llegado a un punto, tras sacar la tasa de alcohol en sangre segun los datos introducidos por el usuario, queria configurar un mensaje que depende del valor de este numero.

Si es 0, dar la enhorabuena, si esta entre 0 y 0,50 recomendar algo, si es mas de 0,50 indicarle que no debe conducir, si supera 1,5 decirle que lleva un buen pedo, si es mayor de 3,5 que esta rozando el coma... cosas por el estilo. Algo sencillo.

Para ello, estoy utilizando un if con elseif, del siguiente modo:

Código java:
Ver original
  1. //contrase con la normativa española
  2.  
  3.  if (alcoholSangre  > maxPermitidoConducir){
  4.             System.out.println("No debes conducir, superas la tasa maxima de alcoholemia");
  5.        
  6.         }else if (alcoholSangre > 1){
  7.             System.out.println("No conduzcas. No vayas en bici. Hidratate con agua. Mañana será un dia duro");
  8.         }else if (alcoholSangre == 3){
  9.             System.out.println("Si eres tu el que escribe, estas rozando el coma etilico.\nDeja de beber.");
  10.         }else if (alcoholSangre > 4){
  11.             System.out.println("El mundo no tiene bastante floreros para darte de beber, y lo sabes.");
  12.        
  13.         //Puede conducir:
  14.         }else{
  15.             System.out.println("Eres una persona responsable. Puedes conducir");
  16.         }

El problema es que se queda siempre en
(if) No debes conducir, superas la tasa maxima...
o
(else) Eres una persona respondable. Puedes conducir...

No haciendo caso de los elseif.

Es esto por que estoy haciendo comparaciones demasiado ambiguas? ¿hay algun modo de concretar mensajes segun rangos numericos?

Muchas gracias.