Професионална програма
Loading...
Tarantula83 avatar Tarantula83 3 Точки

Задача Потвърждение дали е вярна!

Здравейте Колеги!!

Сам си измислих задача и я написах.Ето го и условието:

Имаме Три Спортни Коли Honda Civic Type R - Резервоар = 46 Литра, Разход на гориво в Града = 9.8 и Разход на гориво извън Града = 6.5,Audi R8 - Резервоар = 73 Литра,Разход на гориво в Града = 22.1 и Разход на гориво ивън Града = 10.2 и Ford Focus RS - Резервоар = 51 Литра,Разход на гориво в Града = 13.4 и Разход извън Града = 7.И трите коли имат различен различен разход на гориво при гратско и извънградско каране.Да се напише програма която изчислява зависимост коя кола колко километра измине при градско или извънградско каране да се изчисли колко литра бензин остава в резервоара!И ако горивото не е достатъчно за да се изминат километрите да изкара отговор трябва колата да се зареди с гориво!Резултата на Литрите закръгляме до третия знак!

Понеже съм новобранец искам някои с по голям опит да прегледа кода и логиката и да каже дали съм го написал вярно! Все пак не мога да я тестрвам в Judge!

Ето го и кода ми:

import java.util.Scanner;

public class gasolineConsumption {
    public static void main(String[] args) {
        System.out.println("Hello Tarantula!All System Online!");
        System.out.println("Enter the Model of The Car");
        Scanner scanner = new Scanner(System.in);

        String nameOfCar = scanner.nextLine();

        System.out.println("Distance in Kilometers");

        double distanceInKilometers = Double.parseDouble(scanner.nextLine());

        System.out.println("Enter Urban Driving or Extra-Urban Driving");

        String driving = scanner.nextLine();

        if (nameOfCar.equals("Honda Civic Type R")) {
            if (driving.equals("Urban Driving") && +distanceInKilometers <= 469) {

                double carTank = 46;
                double fuelConsumption = 9.8;
                double spendFuel = distanceInKilometers * fuelConsumption / 100;
                double fuelRemains = carTank - spendFuel;

                System.out.printf("The fuel remaining is: %.3f liters", fuelRemains);

            } else if (driving.equals("Extra-Urban Driving") && +distanceInKilometers <= 707) {

                double carTank = 46;
                double fuelConsumption = 6.5;
                double spendFuel = distanceInKilometers * fuelConsumption / 100;
                double fuelRemains = carTank - spendFuel;

                System.out.printf("The fuel remaining is: %.3f liters", fuelRemains);

            } else {
                System.out.println("Insufficient fuel! The Car needs to be Loaded!");
            }
        }


        if (nameOfCar.equals("Audi R8")) {
            if (driving.equals("Urban Driving") && +distanceInKilometers <= 330) {

                double carTank = 73;
                double fuelConsumption = 22.1;
                double spendFuel = distanceInKilometers * fuelConsumption / 100;
                double fuelRemains = carTank - spendFuel;

                System.out.printf("The fuel remaining is: %.3f liters", fuelRemains);

            } else if (driving.equals("Extra-Urban Driving") && +distanceInKilometers <= 715) {

                double carTank = 73;
                double fuelConsumption = 10.2;
                double spendFuel = distanceInKilometers * fuelConsumption / 100;
                double fuelRemains = carTank - spendFuel;

                System.out.printf("The fuel remaining is: %.3f liters", fuelRemains);

            } else {
                System.out.println("Insufficient fuel! The Car needs to be Loaded!");
            }
        }

        if (nameOfCar.equals("Ford Focus RS")) {
            if (driving.equals("Urban Driving") && +distanceInKilometers <= 380) {

                double carTank = 51;
                double fuelConsumption = 13.4;
                double spendFuel = distanceInKilometers * fuelConsumption / 100;
                double fuelRemains = carTank - spendFuel;

                System.out.printf("The fuel remaining is: %.3f liters", fuelRemains);

            } else if (driving.equals("Extra-Urban Driving") && +distanceInKilometers <= 728) {

                double carTank = 51;
                double fuelConsumption = 7;
                double spendFuel = distanceInKilometers * fuelConsumption / 100;
                double fuelRemains = carTank - spendFuel;

                System.out.printf("The fuel remaining is: %.3f liters", fuelRemains);

            } else {
                System.out.println("Insufficient fuel! The Car needs to be Loaded!");
            }
        }
    }
}

Благодаря Преварително!!!

Тагове:
-1
Programming Basics
Ivan_G_Popov1 avatar Ivan_G_Popov1 21 Точки

Задачата си е интересна за самоподготовка аз също си мислех такива.

Повтаряш едни и същи сметки много пъти, принтираш  за сяка кола.Когато правя сметки винаги гледам дали не може да са един път,  дали при промяната на нещо ще се се наложи да я пиша на 100 места (ако е така нещо е сбъркано) ?

Ако горивото което остава е по-голямо от 0 значи имаш остатък ако не трябва да заредиш не е нужно да смяташ на ръка за да провериш дали километрите са ..... 

import java.util.Scanner;

public class gasolineConsumption {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("Hello Tarantula!All System Online!");
        
        System.out.println("Enter the Model of The Car");
        String nameOfCar = scanner.nextLine();

        System.out.println("Distance in Kilometers");
        double distanceInKilometers = Double.parseDouble(scanner.nextLine());

        System.out.println("Enter Urban Driving or Extra-Urban Driving");
        String driving = scanner.nextLine();
        
        double fuelRemains=0;
        double carTank = 0;
        double fuelConsumption=0;

        if (nameOfCar.equals("Honda Civic Type R")) {
            carTank = 46;
            
            if (driving.equals("Urban Driving")) {
                fuelConsumption = 9.8;
                
            } else if (driving.equals("Extra-Urban Driving")){
                fuelConsumption = 6.5;
            }
        }
        
         if (nameOfCar.equals("Audi R8")) {
            carTank = 73;
            
            if (driving.equals("Urban Driving")) {
                fuelConsumption = 22.1;
                
            } else if (driving.equals("Extra-Urban Driving")){
                fuelConsumption = 10.2;
            }
        }
        if (nameOfCar.equals("Ford Focus RS")) {
            carTank = 51;
            
            if (driving.equals("Urban Driving")) {
                fuelConsumption = 13.4;
                
            } else if (driving.equals("Extra-Urban Driving")){
                fuelConsumption = 7;
            }
        }
        
        double spendFuel = distanceInKilometers * fuelConsumption / 100;
        fuelRemains = carTank - spendFuel;
        
        if(fuelRemains>=0){
            System.out.printf("The fuel remaining is: %.3f liters", fuelRemains);

        } else {
            System.out.println("Insufficient fuel! The Car needs to be Loaded!");
        }
    }
}

TeodorStefanovPld поправи ме ако греша но за човек който се учи как да програмира да му даваш да си пише тестове сам не е ли прекалено?

1