NumberFormatException: For input string: “” JAVA

publicado por: Anonymous
    public void logicaaritmetica() {

        TercerV tv2 = new TercerV();
        FirstClass fc = new FirstClass() {

            @Override
            public void logicaaritmetica() {

            }
        };


       try {
            String tjt  = (tv2.jttv.getText().trim());
            fc.setA(Integer.parseInt(tjt));

            if ((fc.getA() >= 0) && (fc.getA() <= 1000000)) {
                fc.setBalance(fc.getA() - fc.getBalance());

            } else {
                JOptionPane.showMessageDialog(null, "La cantidad es superior o 
                inferior al limite posible");
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Error " + e);
        }
    }

Quiero convertir el contenido del textfield a string y luego a int, pero me sale error, como ven guardo el texto en una variable y luego convierto enviando el entero a una variable privada de tipo int en otra clase utilizando el metodo Integer.parseInt.

pero aun asi el codigo sigue diciendome que le estoy introduciendo texto cuando acciono ese metodo con un boton.

solución

El error:

NumberFormatException: For input string: “”

Te está dando porque al textfield le esta llegando una cadena vacía.

Otros posibles errores pueden ser por:

Exception in thread “main” java.lang.NumberFormatException: For input
string: “null” means input was null.

Exception in thread “main” java.lang.NumberFormatException: For input
string: “F1” means input was F1 which is alphanumeric

Exception in thread “main” java.lang.NumberFormatException: For input
string: “1.0” means input String was “1.0” and you were trying to
convert it to Integral data type e.g. int, short, char and byte.

Asegúrate que a tu variable tv2.jttv.getText().trim() le llegue un valor correcto para después hacer fc.setA(Integer.parseInt(tjt));

Te dejo un escenario parecido al tuyo:

public class MyClass {
    public static void main(String args[]) {

        String entrada = "123344";
        int numero;
        String tjt  = (entrada.trim());
        numero = (Integer.parseInt(tjt));

        try {
            if ((numero >= 0) && (numero <= 1000000)) {
                System.out.println("Correcto ");
            } else {
                System.out.println("Error");
            }
        } catch (Exception e) {
            System.out.println("Error catch");
        }
    }
}
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *