Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Ayuda primeros programas en Java.

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!

octubre 21, 2014 | Registered Commenterleosss

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)

octubre 21, 2014 | Registered Commenterchoces

Efectivamente, con 3,5 sí funciona. Muchas gracias!

octubre 21, 2014 | Unregistered CommenterLeosss