我在最近的作业中遇到了这部分代码的困难。此分配向用户显示汽油价格,询问他们想要哪种类型以及多少加仑。该程序将总价格作为双精度值返回。我在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);
}
}
答案 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}}