Ayuda con JAVA es una boludes, van a ver, por favor ayuda

      • 145
      • mensajes
      • miembro desde
      • 17/01/06
    10/08/2006
    #1 Ayuda con JAVA es una boludes, van a ver, por favor ayuda

    Hola q tal? esta es mi primera programando, y resulta que tengo que hacer un programa donde debo Ingresar dos números reales que representan el gasto efectuado (ej: 23.75) por una persona y la cantidad pagada(ej 100). El programa debe informar la cantidad de pesos y centavos a devolver.

    A la hora de hallar el valor del vuelto me va a dar con coma ovbiamente y tengo que sacar por separado los valores en pesos y en centavos, o sea que el resultado en vez de ser real va a tener que ser entero.
    Yo habia hecho lo siguiente:

    public class Ejercicio8{
    public static void main(String arg[]){
    double x;
    double y;
    int z;
    int w;
    x=SystemIO.readDouble("Gasto Efectuado:");
    y=SystemIO.readDouble("Cantidad abonada:");
    z=y+x;
    w=(y-x)-z
    System.out.println(z);
    System.out.println(w);

    }
    }


    el caso es que me tira error en z, como que no me deja hallar los valores enteros por ya haber puesto double.

    Si alguien me puede aclarar el error se lo agradeceria

  1. ¿Este tema te pareció interesante? Compártelo!

    ¿No es lo que buscabas? Intenta buscar un tema similar

    4 comentarios / 28218 Visitas

      • 134
      • mensajes
      • miembro desde
      • 05/08/05
    10/08/2006
    #2 Re: Ayuda con JAVA es una boludes, van a ver, por favor ayuda

    declarando z y w como double creo que no deberias tener problemas

      • 2,582
      • mensajes
      • miembro desde
      • 16/03/04
    13/08/2006
    #3 Re: Ayuda con JAVA es una boludes, van a ver, por favor ayuda

    Para obtener la parte entera simplemente castea el resultado a int. Ejemplo:
    int z = (int)(x+y);
    Exite una clase NumberFormat que te permite formar y parsear numeros epecificando la cantidad de digitos en la parte entera y fraccionaria respectivamente. No recuerdo bien pero capaz que tiene algun metodo para obtener la parte entera y fraccionaria de un numero.
    Otra opcion seria convertir a string el numero double, y luego extraer de la cadena ambas partes con los metodos substring. Ejemplo:
    String cadena = Double.toString(x+y);
    int i = cadena.indexOf('.');
    int parteEntera = Integer.parseInt(cadena.substring(0,i));
    int parteFraccion = Integer.paprseInt(cadena.substring(i+1));

      • 109
      • mensajes
      • miembro desde
      • 22/06/03
    15/08/2006
    #4 Re: Ayuda con JAVA es una boludes, van a ver, por favor ayuda

    Yo usaria las Clases Wrapper. Cada tipo de dato primitivo posee una clase que la identifica, sea de la siguiente manera int se corresponde con la clase Integer, double con la clase Double y asi con los demas tipos. estas clases poseen metodos para pasar de un tipo de dato a otro tipo de dato mediante esa clase. por ejemplo si vos queres pasar un int a un double, seria algo asi:

    double x = 15689.22;
    int x1 = Integer.parseInt(x);

    en teoria esto se puede hacer y te redondearia para arriba el valor que tenias con punto flotante, pero para sacar pesos por un lado y centavos por el otro tenes que hacerlo como te explico arriba el AGUS_RAMONEEE. o sea concuerdo con el definitivamente.

    espero haya aclarado un poco mas desde lo teorico, saludos!

      • 145
      • mensajes
      • miembro desde
      • 17/01/06
    16/08/2006
    #5 Re: Ayuda con JAVA es una boludes, van a ver, por favor ayuda

    Muchas gracias por su ayuda, muchachos; se los agradezco mucho ya me salio el programa.
    Si tengo otra duda con otro programa les vuelvo a preguntar