需求说明:
- 某城市的出租车计费规则如下:
- 在 7:00 ~ 23:00 之间,3km 以内收取起步价 10 元,超过 3km 每 km 收取 2 元。
- 如果不在这个时间段,在 2km以内收取起步价 15元,超过 2km 每 km 收取 5 元。
实现思路:
- 通过Scanner获取用户输入的时间以及行驶的里程。
- 通过时间,判断计费是使用白天计费规则,还是晚上计费规则。
- 确定计费规则后,计算里程价格。
实现代码:
import java.util.Scanner;
public class TaxiDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入乘坐出租车的时间(小时)【1-24】");
int hour = sc.nextInt();
System.out.println("请输入里程数(千米)");
int mileage = sc.nextInt();
int cost = 0;//声明消费
if(7 >= hour&&hour <= 23){
//日间 起步价10元包含里程3千米,超出部分每千米2元
if(mileage<=3){ //如果没有超出起步价包含里程
cost = 10;
}else{ //如果超出起步价包含里程
//减去起步价包含里程,剩余里程每千米2元加起步价格
cost = 10+2*(mileage-2);
}
}else{
//夜间 起步价15元包含里程2千米,超出部分每千米5元
if(mileage<=2){
cost = 15;
}else{
//减去起步价包含里程,剩余里程每千米5元加起步价格
cost = 15+5*(mileage-2);
}
}
System.out.println("您本次行驶了"+mileage+"千米,共消费:"+cost+"元。");
//
}
}