java

Java – Ejercicio de recibo de luz

Resolviendo más ejercicios de programación en Java hemos llegado a uno que se trata de calcular el monto a pagar por la energía eléctrica tomando en cuenta los kilowatts usados y un costo fijo por el servicio prestado.

El problema dice así:

Calcular el pago del recibo de luz del mes, dada la lectura presente y la lectura pasada (la diferencia entre estos son los kilowatts que se consumieron). Asume un costo por kilowatt de $3.5 y un costo fijo de $100 pesos por el servicio prestado por la compañía eléctrica. Se requiere calcular e imprimir los kilovatios utilizados y el importe total de la factura. (Métodos con parámetros con return, un método para los kilovatios y otro para el consumo)

Veamos cómo resolverlo a continuación.

Explicación del algoritmo

Básicamente son operaciones matemáticas, entre ellas restas y multiplicaciones. Primero vamos a solicitar la lectura actual y la lectura pasada para poder sacar la diferencia de kilowatts. Una vez que la tengamos la multiplicamos por 3.5 que es el costo por kilowatt.

Más tarde, sumamos el monto por el consumo y el costo fijo para que nos dé el total. Finalmente imprimimos los resultados.

Código de Java

Comencemos viendo los métodos. Uno nos dice la diferencia y otro nos da el importe. El que da la diferencia de los kilowatts es el siguiente:

public static double diferenciaKilovatios(double lecturaPresente, double lecturaPasada) {
    return lecturaPresente - lecturaPasada;
}

Realmente no es tan necesario encerrar una simple resta en un método, pero así lo solicita el ejercicio. Pasando al que nos da el importe, queda así:

public static double importeDeLuz(double lecturaPresente, double lecturaPasada) {
    double costoPorConsumo = diferenciaKilovatios(lecturaPresente, lecturaPasada) * 3.5;
    return costoPorConsumo + 100;
}

Este método es el que tiene más trabajo, pues obtiene el consumo de los kilowatts y los multiplica por 3.5 que es el precio. Luego, regresa lo obtenido más el costo fijo.

Poniendo todo junto

Veamos ahora el código completo. En este caso se le solicita al usuario que ingrese la lectura actual y la lectura pasada usando un Scanner. Después se realizan los cálculos y se imprimen los resultados, por lo que el código completo queda así:

/*
    https://parzibyte.me/blog
*/
import java.util.Scanner;

public class Main{

    public static double diferenciaKilovatios(double lecturaPresente, double lecturaPasada) {
        return lecturaPresente - lecturaPasada;
    }

    public static double importeDeLuz(double lecturaPresente, double lecturaPasada) {
        double costoPorConsumo = diferenciaKilovatios(lecturaPresente, lecturaPasada) * 3.5;
        return costoPorConsumo + 100;
    }


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Ingresa la lectura presente: ");
        double lecturaPresente = sc.nextDouble();
        System.out.println("Ingresa la lectura pasada: ");
        double lecturaPasada = sc.nextDouble();
        double consumo = diferenciaKilovatios(lecturaPresente, lecturaPasada);
        double importe = importeDeLuz(lecturaPresente, lecturaPasada);
        System.out.println("Consumo: " + consumo + " Kilovatios " + " Importe: " + importe);
    }



}

Con la siguiente salida que a mi parecer es correcta:

Ejercicio de programación en Java – Recibo de luz

Aquí te dejo más ejercicios sobre Java.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

4 días hace

Esta web usa cookies.