Exception in thread "main" java.util.InputMismatchException Arreglos nextLine
Publicado por MarbisPowerJ (1 intervención) el 07/08/2016 04:54:29
Hola Compañeros, He decidido preguntarles una cosa.
Cuando estoy probando mi programa me encuentro con el siguiente error:
Sé que el error se refiere a que ingresé un dato que no corresponde al tipo de variable que tengo. En este caso es String. Necesito Usar nombre y apellido en el código, como parte de una lista. Y estoy usando arreglos para almacenar datos.
Usé arreglos bidimensionales, pero no creo que sea eso lo que me impide leer.
Bueno el caso es que el código es este:
Como ven en el primer paso del ciclo for, continúa de manera normal, pero cuando vuelve a empezar el ciclo me encuentro con que no puedo ingresar ningún string porque me marca la onda esa. Pido que me ayuden por favor, no puedo hacer nada.
Cuando estoy probando mi programa me encuentro con el siguiente error:
1
2
3
4
5
6
7
8
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.nextDouble(Scanner.java:2413)
at vectormarbis1.MarbisVectors2.Promedios5(MarbisVectors2.java:125)
at vectormarbis1.VectorMarbis1.main(VectorMarbis1.java:28)
C:\Users\ManoloAurelio\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 39 seconds)
Usé arreglos bidimensionales, pero no creo que sea eso lo que me impide leer.
Bueno el caso es que el código es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public void Promedios5(){
Scanner Marbis=new Scanner(System.in);
String[] x=new String[5];
double[][] a=new double[5][4];
double[] b=new double [5],c=new double[5];
System.out.println("Este programa genera los promedios de las notas de cuatro unidades\n"
+ "se le solicitarán a usted, el nombre y las cuatro notas");
System.out.println("Podría ingresarlas ahora por favor:");
for(int y=0;y<=4;y++){
System.out.println("Ingrese el nombre:");
x[y]=Marbis.nextLine();/**EL caso es que aquí estoy leyendo el arreglo pero no logro hacer que este se repita en la segunda lectura porque me marca el error anterior**/
for(int z=0;z<=3;z++){
a[y][z]=Marbis.nextDouble();
}
b[y]=a[y][0]+a[y][1]+a[y][2]+a[y][3];
c[y]=b[y]/4;
}
System.out.println("Ahora usted verá los promedios de las personas:");
System.out.println("Nombre:\t\t\tPromedio");
for(int m=0;m<=4;m++)
System.out.printf("%s:\t\t%.2f\n",x[m],c[m]);
}
Valora esta pregunta


0