方法中的参数和参数存在问题

时间:2019-03-31 22:23:46

标签: java drjava

我在最近的作业中遇到了这部分代码的困难。此分配向用户显示汽油价格,询问他们想要哪种类型以及多少加仑。该程序将总价格作为双精度值返回。我在calculatePrice方法中创建了一个开关,该开关将返回答案。我在收集该信息并以某种方式将其打印到方法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 个答案:

答案 0 :(得分:1)

看起来像一个简单的错误-您从calculatePrice返回type,而不是计算得出的值:

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;
}

答案 1 :(得分:0)

您需要将加仑和价格/加仑的乘积保存在变量中,然后将其返回。

{{1}}