Java-программа: попросите пользователей ввести количество печатных копий, затем рассчитать и отобразить общую стоимость печати, используя следующую таблицу тарифов

У меня проблемы с получением правильного результата из вывода. Некоторые входные данные дают право, а некоторые нет. Например, когда я ставлю 499, я получаю 29,93999999999999 долларов, но когда я ставлю 500, я получаю 25,0 долларов.

-Введите количество копий для печати: 499
Общая стоимость: $29,939999999999998

-Введите количество копий для печати: 500
Общая стоимость: $25.0

Это мой код: что я делаю неправильно?

импорт java.util.Scanner;

публичный класс Main {

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.println("Enter the number of copies to print: ");
    double numberOfCopies = in.nextDouble();
    double cost;
    double subtotal;
    double totalAmount;

    if(numberOfCopies >= 500) {
        cost = 0.05 / numberOfCopies;
        subtotal = numberOfCopies * cost;
        totalAmount = subtotal * numberOfCopies;
        System.out.println("The total cost is: " + " $"+ totalAmount);  
    } else if (numberOfCopies >= 300 && numberOfCopies <= 499) {
        cost = 0.06 / numberOfCopies;
        subtotal = numberOfCopies * cost;
        totalAmount = subtotal * numberOfCopies;
        System.out.println("The total cost is: " + " $" + totalAmount);
    } else if (numberOfCopies >= 200 && numberOfCopies <= 299){
        cost = 0.07 / numberOfCopies;
        subtotal = numberOfCopies * cost;
        totalAmount = subtotal * numberOfCopies;
        System.out.println("The total cost is: " + " $" + totalAmount);
    } else if (numberOfCopies >= 100 && numberOfCopies <= 199) {
        cost = 0.08 / numberOfCopies;
        subtotal = numberOfCopies * cost;
        totalAmount = subtotal * numberOfCopies;
        System.out.println("The total cost is: " + " $" + totalAmount);
    } else if(numberOfCopies >= 1 && numberOfCopies <= 99) {
        cost = 0.10 / numberOfCopies;
        subtotal = numberOfCopies * cost;
        totalAmount = subtotal * numberOfCopies;
        System.out.println("The total cost is: " + " $" + totalAmount);
    } else if(numberOfCopies == 0) {
        System.out.println("Cannot compute cost of 0 copies");
    }
}

}

0 ответов

Другие вопросы по тегам