Hola, soy nuevo en el foro y tengo una pequeña duda, lo que pasa es que intentando resolver un problema, en el que me pedian ingresar una cantidad de elementos a procesar, para luego especificar la longitud de los elementos, los cuales no debian sobrepasarse de 1.30 ni ser menores a 1.20 y aqui el problema, el programa me deja ingresar la cantidad de elementos pero siempre he tenido problemas con los elementos float, al ingresar enteros no hay problema pero ingreso por poner un ejemplo un 1.22 y da error y si por algun motivo ingreso un numero mayor o menor o cualquier float, me sigue dando el mismo error.
Bueno dejo de lado tanta introduccion y les muestro el codigo fuente y mas abajo el error que me aparece al ejecutar el programa:
package If;
import java.util.Scanner;
public class while_if {
public static void main(String[]ar){
Scanner teclado_1=new Scanner(System.in);
int x;
int cantidad;
int n;
float largo;
x=1;
cantidad=0;
System.out.println("Ingrese la cantidad de las piezas a procesar");
n=teclado_1.nextInt();
while (x<=n) {
System.out.println("Ingrese la medida de la pieza: ");
largo=teclado_1.nextFloat();
if (largo>=1.20 && largo<=1.30){
cantidad = cantidad +1;
}
x=x+1;
}
System.out.print("la cantidad de piezas aptas son: ");
System.out.print(cantidad);
}
}
---------------------------------------------------------
Error:
Ingrese la cantidad de las piezas a procesar
2
Ingrese la medida de la pieza:
1.22
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextFloat(Scanner.java:2345)
at If.while_if.main(while_if.java:17)
Bueno dejo de lado tanta introduccion y les muestro el codigo fuente y mas abajo el error que me aparece al ejecutar el programa:
package If;
import java.util.Scanner;
public class while_if {
public static void main(String[]ar){
Scanner teclado_1=new Scanner(System.in);
int x;
int cantidad;
int n;
float largo;
x=1;
cantidad=0;
System.out.println("Ingrese la cantidad de las piezas a procesar");
n=teclado_1.nextInt();
while (x<=n) {
System.out.println("Ingrese la medida de la pieza: ");
largo=teclado_1.nextFloat();
if (largo>=1.20 && largo<=1.30){
cantidad = cantidad +1;
}
x=x+1;
}
System.out.print("la cantidad de piezas aptas son: ");
System.out.print(cantidad);
}
}
---------------------------------------------------------
Error:
Ingrese la cantidad de las piezas a procesar
2
Ingrese la medida de la pieza:
1.22
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
Código (java) [Seleccionar]
[code=asm][code=java]
[/code][/code]at java.util.Scanner.nextFloat(Scanner.java:2345)
at If.while_if.main(while_if.java:17)