miércoles, 7 de septiembre de 2011

Como Programar en Java: Ejercicio 4.17

Aquí esta el ejercicio 4.17 de Como Programar en Java séptima edición.

package com.jlm.ccb.ejercicios.capitulo4;

import java.util.Scanner;

/**
 * Clase que lleva el registro de kilómetros por litro
 * que tiene un conductor.
 * Ejercicio 4.17
 * @author LorettoTG
 * @version 1.0
 */
public class Conductores {

    /**
     * Calcula y muestra los kilómetros conducidos y los litros
     * usados por cada reabastecimiento, e imprime el total de
     * kilómetros por litro obtenidos en todos los reabastecimientos
     * hasta ese punto.
     */
    public void calcularKmLitro() {
        //Se crea un objeto Scanner para obtener la entrada
        //de datos del usuario.
        Scanner entrada = new Scanner(System.in);

        /**
         * Contiene los kilómetros para ese reabastecimiento.
         */
        double kilometros = 0;
        /**
         * Contiene los litros para ese reabastecimiento.
         */
        double litros = 0;
        /**
         * Contiene el total de kilómetros de la ruta.
         */
        double totalKilometros = 0;
        /**
         * Contiene el total de litros de la ruta.
         */
        double totalLitros = 0;

        System.out.println("Deme el número de kilómetros recorridos: ");
        kilometros = entrada.nextDouble();

        //Ciclo while que se detiene hasta que el kilometraje sea menor
        //a cero.
        while(kilometros > 0) {
            System.out.println("Deme el número de litros usados: ");
            litros = entrada.nextDouble();

            totalKilometros += kilometros;
            totalLitros += litros;

            System.out.println("Kilometros-Litros para este "
                    + "reabastecimiento: " + kilometros / litros);

            System.out.println("Kilometros-Litros para todo "
                    + "el recorrido: " + totalKilometros / totalLitros);

            System.out.println(
                    "Deme el número de kilómetros recorridos: ");
            kilometros = entrada.nextDouble();
        }
    }

    /**
     * Punto de entrada a la clase y a la aplicación.
     * @param args matriz de argumentos de cadena.
     */
    public static void main(String[] args) {
        Conductores conductor = new Conductores();
        conductor.calcularKmLitro();
    }
}

4 comentarios:

  1. interpretaste mal la consigna, y ademas esta mal echo! volve a leer el libro!

    ResponderEliminar
  2. Yo lo hice de esta manera. Saludos.

    //Ejercicio 4.17 KilometrajeGasolina.java
    import java.util.Scanner;

    public class KilometrajeGasolina
    {
    public static void main(String[] args)
    {
    Scanner entrada = new Scanner( System.in );

    int kms = 0;
    int litros = 0;
    double kmsLitro;
    double totalKms = 0;
    double totalLitros = 0;


    System.out.print("Escriba los kilometros conducidos o -1 para terminar: ");
    kms = entrada.nextInt();


    while( kms != -1 )
    {
    System.out.print("Escriba los litros usados: ");
    litros = entrada.nextInt();
    kmsLitro = kms/litros;
    System.out.printf("Kilometros por litro obtenidos en este viaje: %.2f\n",kmsLitro);

    totalKms += kms;
    totalLitros += litros;


    System.out.print("Escriba los kilometros conducidos o -1 para terminar: ");
    kms = entrada.nextInt();
    }

    if(totalKms != 0)
    {
    System.out.printf("Total de kilometros por litro obtenidos en todos los abastecimientos: %.2f\n",totalKms/totalLitros);
    }
    else
    System.out.println("No se introdujeron datos");
    }
    }

    ResponderEliminar