Holaa!
De antemano un saludo.
Estoy estudiando programación y soy nuevo en esto.
Me surgió un problema inusual, al poner en marcha un programita que mi maestro me dio.
Es el siguiente:
public class Adios {
int a,b;
float c,d;
public Adios() {
}
public Adios(int p,float r)
{
a=p;
c=r;
}
public Adios(int m, int n, float ñ, float o)
{
a=m;
b=n;
c=ñ;
d=o;
}
int proceso(int z, int w)
{
Teclado zz=new Teclado();
int resp=0,op;
System.out.println("1.- Suma\n2.-Resta");
op=zz.leeInt();
switch(op)
{
case 1:
{
resp=z+w;
break;
}
case 2:
{
resp=z-w;
break;
}
default:
System.out.println("Error, intente de nuevo");
}
return(resp);
}
void imprime(int t)
{
System.out.println("El proceso es = "+t);
}
float proceso2(float r1, float r2)
{
float r3;
r3=r1*r2;
return(r3);
}
public static void main(String []args)
{
float aux2;
int aux;
Adios f= new Adios();
Teclado j=new Teclado();
System.out.println("Introduce primero 2 valores enteros y luego 2 valores con decimales");
f.a=j.leeInt();
f.b=j.leeInt();
f.c=j.leeFloat();
f.d=j.leeFloat();
Adios f2=new Adios(1,3.0f);
Adios f3=new Adios(1,3,5.0f,2.0f);
aux=f2.proceso(f.a,f2.a);
f.imprime(aux);
aux2=f3.proceso2(3.0f,f3.d);
f.imprime((int)aux2);
System.exit(0);
}
}
__________
Entonces el problema es lo siguiente al compilarlo todo bien, pero al ejecutarlo y colocar el segundo valor entero cuando me lo solicitan aparece este error
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(Num berFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:470)
at java.lang.Integer.parseInt(Integer.java:499)
at Teclado.leeInt(Teclado.java:18)
at Adios.main(Adios.java:65)
Entonces lo raro es que cuando el codigo lo compilo en un editor mas antiguo de Jcreator no me sale este error, pero al ejecutarlo en una version reciente, me aparece el error mencionado.
La verdad ya luche con esto pero no le encuentro el porque del problema,
Gracias por su tiempo, espero que me den una respuesta lógica a esto que me esta matando.