用java写出 某加油站有a\b\c三种汽油,单价分别为6.12,5.95,5.75(元/千克)。同时,该加油站提供自动加油、手工加油两种服务模式,分别给予2%和5%的优惠。编写程序实现功能:当用户输入加油量、汽油类型和服务模式后,输出应付款
时间: 2024-09-13 16:03:08 浏览: 33
在Java中,你可以创建一个函数来处理这个需求。首先,定义一个类`GasStation`,包含汽油的价格数组和折扣方法。然后,用户输入加油量、油品类型和服务模式,通过计算打折后的总价并返回结果。这里是一个简单的示例:
```java
public class GasStation {
private double[] prices = {6.12, 5.95, 5.75}; // 汽油价格
private int autoDiscount = 2; // 自动加油2%
private int manualDiscount = 5; // 手工加油5%
public double calculateBill(double quantity, String oilType, boolean isAuto) {
int priceIndex = Arrays.asList("a", "b", "c").indexOf(oilType); // 获取油品对应的索引
double basePrice = prices[priceIndex]; // 依据索引获取基础价格
if (isAuto) { // 自动加油
return basePrice * (1 - autoDiscount / 100) * quantity;
} else { // 手工加油
return basePrice * (1 - manualDiscount / 100) * quantity;
}
}
// 主函数示例,用于演示如何调用
public static void main(String[] args) {
GasStation gasStation = new GasStation();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入加油量(单位:千克):");
double quantity = scanner.nextDouble();
System.out.println("请输入油品类型(a/b/c):");
String oilType = scanner.next();
System.out.println("请选择服务模式(0: 自动,1: 手工):");
int serviceMode = scanner.nextInt();
boolean isAuto = serviceMode == 0;
double bill = gasStation.calculateBill(quantity, oilType, isAuto);
System.out.printf("应付款为 %.2f 元\n", bill);
}
}
阅读全文