Lo más seguro es que el Locale no se corresponde con la cifra introducida.
Si pruebas con 3,5 creo que funcionará correctamente.
http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#useLocale(java.util.Locale)
Efectivamente, con 3,5 sí funciona. Muchas gracias!
Buenos días,
Estoy intentando hacer un pequeño programa en el que pidamos introducir un número decimal, y segun el número introducido nos diga de qué tipo es:
import java.util.Scanner;
public class prova17Alt {
public static void main(String[] args) {
//instancia
Scanner entrada = new Scanner(System.in);
//variables
float a;
System.out.println("Introduce medida en cm:");
a = entrada.nextFloat();
if ((a>0) && (a<3.0)){
System.out.println("Pequeño");
}else if ((a>=3.0) && (a<5.0)){
System.out.println("Mediano");
}else if ((a>=5.0) && (a<6.5)){
System.out.println("Grande");
}else if ((a>=6.5) && (a<8.5)){
System.out.println("Muy grande");
}else{
System.out.println("Incorrecto")
}
}
}
al pasarlo por consola me tira este error:
Introduce medida en cm:
3.5
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextFloat(Unknown Source)
at prova17Alt.main(prova17Alt.java:12)
ayuda! gracias!