Helpme please
Porfavor necesito ayuda con este programa apenas empiezo y no se como resolver este problema k tengo con la definicion de un dato les mando el programa y el error
import javax.swing.*;
class Gas
{
public static void main (String[]args)
{
String gal,din;
double g=3.785;
double d=1.025;
int b1,tot,op,op1;
gal=JOptionPane.showInputDialog("El total de galones es de:");
tot=Integer.parseInt(gal);
op1=(g*d)*tot;
JOptionPane.showMessageDialog(null,"El total a pagar es de:"+op1);
din=JOptionPane.showInputDialog("El efectivo es de :");
b1=Integer.parseInt(din);
op=(op1-b1);
JOptionPane.showMessageDialog(null,"Su cambio es de:"+op);
JOptionPane.showMessageDialog(null,"Gracias por su compra");
System.exit(0);
}
}
El erro k me marca es:
found : double
required: int
op1=(g*d)*tot;
y por mas k le cambio nomas no encuentro y se supone k el double es de mayor capacidad k el Int
import javax.swing.*;
class Gas
{
public static void main (String[]args)
{
String gal,din;
double g=3.785;
double d=1.025;
int b1,tot,op,op1;
gal=JOptionPane.showInputDialog("El total de galones es de:");
tot=Integer.parseInt(gal);
op1=(g*d)*tot;
JOptionPane.showMessageDialog(null,"El total a pagar es de:"+op1);
din=JOptionPane.showInputDialog("El efectivo es de :");
b1=Integer.parseInt(din);
op=(op1-b1);
JOptionPane.showMessageDialog(null,"Su cambio es de:"+op);
JOptionPane.showMessageDialog(null,"Gracias por su compra");
System.exit(0);
}
}
El erro k me marca es:
found : double
required: int
op1=(g*d)*tot;
y por mas k le cambio nomas no encuentro y se supone k el double es de mayor capacidad k el Int
El problema es que (g*d)*tot devuelve un double, y usted le está asignando ese valor a un int. Puede camabiar op1 a tipo double, o hacer un cast, como:
op1 = (int)( ( g * d ) * tot )
Sin embargo esto truncará el resultado, ya que es un int.
Espero haber ayudado.
op1 = (int)( ( g * d ) * tot )
Sin embargo esto truncará el resultado, ya que es un int.
Espero haber ayudado.
