Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Diegofercho en 8 Mayo 2015, 04:25 am



Título: ayuda "InputMismatchException" al usar una variable tipo double
Publicado por: Diegofercho en 8 Mayo 2015, 04:25 am
Amigos este es mi primer post, bueno quiero pedirles ayuda y que me guíen un poco, estoy declarando una variable tipo double y al pedir el ingreso por teclado si yo  digito un numero entero no hay problema, me lo lee y lo imprime pero si digito un numero con decimal, ejmp: 6.4 ahi me bota una excepcion, pero no entiendo que estoy haciendo mal, ayuda por favor, les adunto el codigo que programé.
Código:
package ingresodecimales;

import java.util.Scanner;


public class IngresoDecimales {

 
    public static void main(String[] args) {
      Scanner lec= new Scanner(System.in);
       
        double decimal;
        System.out.println("ingrese un numero con decimal");
        decimal= lec.nextDouble();
        System.out.println("el decimal es "+ decimal);
    }
   
}

y aqui el error:

Código:
ingrese un numero con decimal
3.2
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextDouble(Scanner.java:2456)
at ingresodecimales.IngresoDecimales.main(IngresoDecimales.java:25)
Java Result: 1


Título: Re: ayuda "InputMismatchException" al usar una variable tipo double
Publicado por: Lind L. Tailor en 8 Mayo 2015, 05:02 am
Hola...

Ejecute tu código tal y como lo tienes, y no tengo inconveniente alguno, todo corre perfectamente, lo cual nos indica que el error no se encuentra en donde tu lo mencionas, y a juzgar por la excepción estas en la línea equivocada ya que podemos observar que lo tienes en la línea 25: at ingresodecimales.IngresoDecimales.main(IngresoDecimales.java:25)...

Código
  1. ingrese un numero con decimal
  2. 3.2
  3. Exception in thread "main" java.util.InputMismatchException
  4. at java.util.Scanner.throwFor(Scanner.java:909)
  5. at java.util.Scanner.next(Scanner.java:1530)
  6. at java.util.Scanner.nextDouble(Scanner.java:2456)
  7. at ingresodecimales.IngresoDecimales.main(IngresoDecimales.java:25)
  8. Java Result: 1
  9.  

Por lo tanto, posiblemente tienes algún otro método después de ello la cual te genera el error, ahora bien también existe la posibilidad de que no estas ingresando el separador correcto; es decir, que en vez de un punto estas ingresando una coma, lo cual nos lanza la excepción que tu efectivamente mencionas.

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!


Título: Re: ayuda "InputMismatchException" al usar una variable tipo double
Publicado por: PabloPbl en 8 Mayo 2015, 05:04 am
Hola amigo, nose por que pueda estar pasando, tendría que googlear un poco jeje, pero lo he hecho de esta forma, y funciona perfectamente:

Código
  1. import java.util.Scanner;
  2.  
  3.  
  4. public class IngresoDecimales {
  5.  
  6.  
  7.    public static void main(String[] args) {
  8.      Scanner lec= new Scanner(System.in);
  9.  
  10.        double decimal;
  11.        System.out.println("ingrese un numero con decimal");
  12.        decimal= Double.parseDouble(lec.nextLine());
  13.        System.out.println("el decimal es "+ decimal);
  14.    }
  15.  
  16. }
  17.  

Lo que hice fue:
El String que lee el Scanner, lo convertí a Double, y luego lo imprimí.

Menos mal que Java tiene muchas funciones útiles jeje.

Un saludo!


Título: Re: ayuda "InputMismatchException" al usar una variable tipo double
Publicado por: daryo en 9 Mayo 2015, 00:44 am
ambos codigos funciona sin problemas
lo probe en :
http://www.tutorialspoint.com/compile_java_online.php

sera cosa de la maquina donde se esta ejecutando o una mala configuracion de java