Возникли проблемы с аргументами и параметрами в методах - PullRequest
0 голосов
/ 01 апреля 2019

У меня проблемы с этим определенным фрагментом кода в моем последнем задании. Это назначение отображает цены для пользователя на газ, спрашивает, какой тип они хотели бы и сколько галлонов. Программа возвращает общую цену в двойном размере. Я создал переключатель в методе calcPrice, который будет возвращать ответ. У меня возникают проблемы со сбором этой информации и каким-либо способом ее печати в методе displayTotal. Также displayTotal должен быть двойным. Любая помощь приветствуется.

public static double calculatePrice(int type, double gallons){

       switch (type){

      case 1:
        System.out.printf("You owe: %.2f" , gallons * 2.19);
        break;
      case 2: 
        System.out.printf("You owe: %.2f",  gallons * 2.49);
        break;
      case 3:
        System.out.printf("You owe: %.2f", gallons * 2.71);
        break;
      case 4:
        System.out.printf("You owe: %.2f", gallons * 2.99);
       }
    return type; 

     }

    public static void displayTotal(double type){


      System.out.println(type);


     }
   }

Ответы [ 2 ]

1 голос
/ 01 апреля 2019

Похоже на простую ошибку - вы возвращаете type из convertPrice, а не вычисленное значение:

return type;

Вам нужно рассчитать результат и вернуть этот результат, а не type. Кроме того, если вы хотите сначала распечатать его, это поможет поместить его в локальную переменную. Пример:

public static double calculatePrice(int type, double gallons) {
    double result = 0;
    switch (type) {
        case 1:
            result = gallons * 2.19;
        break;
        case 2:
            result = gallons * 2.49;
        break;
        case 3:
            result = gallons * 2.71;
        break;
        case 4:
            result = gallons * 2.99;
    }
    System.out.printf("You owe: %.2f", result);
    return result;
}
0 голосов
/ 01 апреля 2019

Вам нужно сохранить результат умножения галлонов и цена / галлон в переменной и вернуть его.

public static double calculatePrice(int type, double gallons){
    switch (type) {
        case 1:
            return gallons * 2.19;
        case 2: 
            return gallons * 2.49;
        case 3:
            return gallons * 2.71;
        case 4:
            return gallons * 2.99;
     } 
}

public static void displayTotal(double type, double gallons){
    double totalPrice = calculatePrice(type, gallons);
    System.out.printf("You owe: %.2f", totalPrice);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...