es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error: No se puede convertir Java Scanner en double.

import java.util.Scanner;

public class Main{

    public static double calculateGrossIncome(double hrsPerWeek, double hrlyPay){
        double weeklyPay = hrsPerWeek * hrlyPay;
        double result = weeklyPay * 52;
        return result;


    }
    public static void main(String[] args)
    {
        System.out.println("Ingrese el pago por hora :");
        Scanner hrlyPay = new Scanner(System.in);
        hrlyPay.nextDouble();

        System.out.println("Ingrese las horas por semana :");
        Scanner hrsPerWeek = new Scanner(System.in);
        hrsPerWeek.nextDouble();

        double income = calculateGrossIncome( hrsPerWeek, hrlyPay);
        System.out.println("El ingreso bruto total del empleado es " + income);


    }
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema con el código es que la llamada a la función calculateGrossIncome está pasando objetos Scanner en lugar de valores double. Para corregir el error, los valores de entrada de los objetos Scanner deben almacenarse en variables double separadas y luego pasarse a la función.

    Aquí está el código corregido:

    import java.util.Scanner;
    
    public class Main {
    
        public static double calculateGrossIncome(double hrsPerWeek, double hrlyPay) {
            double weeklyPay = hrsPerWeek * hrlyPay;
            double result = weeklyPay * 52;
            return result;
        }
    
        public static void main(String[] args) {
            System.out.println("Ingrese el pago por hora:");
            Scanner input = new Scanner(System.in);
            double hrlyPay = input.nextDouble();
    
            System.out.println("Ingrese las horas por semana:");
            double hrsPerWeek = input.nextDouble();
    
            double income = calculateGrossIncome(hrsPerWeek, hrlyPay);
            System.out.println("El ingreso bruto total del empleado es de " + income);
        }
    }
    

    En este código modificado, los objetos Scanner se reemplazan por un solo objeto Scanner llamado input. Los valores ingresados por el usuario se almacenan en variables double llamadas hrlyPay y hrsPerWeek. Luego, estas variables se pasan a la función calculateGrossIncome, que devuelve el ingreso bruto. Finalmente, el resultado se imprime en la consola.

Comments are closed.