Java出租车计费任务实例分析
程序员文章站
2022-07-10 18:33:23
出租车计费训练任务Java出租车计费训练任务本次任务一起来解决出租车计费问题。某市出租车计费标准如下图所示,请根据此标准完成一个出租车计费模拟功能,能够计算总费用和列出产生费用项目详细情况说明,帮助出租车师傅和乘客了解计费标准。任务概述收费表任务提示结合上述表格,可以得出:总车费=里程费用+低速行驶费(或者等候费)+预约叫车服务费+空驶费+夜间收费+燃油附加费。需要收集的数据有:里程数、低速行驶时长(早晚高峰期行驶时长和其他时间段行驶时长)、是否预约叫车(按四小时为标准)、开始乘坐出租车时...
出租车计费训练任务
Java出租车计费训练任务
本次任务一起来解决出租车计费问题。某市出租车计费标准如下图所示,
请根据此标准完成一个出租车计费模拟功能,能够计算总费用和列出产生费用
项目详细情况说明,帮助出租车师傅和乘客了解计费标准。
任务概述
收费表
任务提示
结合上述表格,可以得出:总车费=里程费用+低速行驶费(或者等候费)
+预约叫车服务费+空驶费+夜间收费+燃油附加费。需要收集的数据有:里程数、低速行驶时长(早晚高峰期行驶时长和其他时间段行驶时长)、是否预约叫车(按四小时为标准)、开始乘坐出租车时间、出租车到达终点站时间,结合这些数据和表中提供的标准就可以使用程序进行计算总车费了。
任务过程
- 声明好程序所需的变量,用于存储数据,请注意数据类型。
-
提示用户输入总里程数、总乘车时间、是否预约叫车(如果是预约叫车
还需要确认是否在 4 小时以内)、是否有低速行驶(如果有,提示输入低速行驶时间,需要考虑早晚高峰),如果里程超过 15 公里,需要输入是否往返
公里范围内,决定空驶费。分别将这些用户输入的值,通过赋值存入对应的变量中。 - 根据计费标准和用户输入的数据进行总费用计算处理。
- 输出总费用和每个产生费用单项的详细情况说明。
代码
// An highlighted block package day02; import java.util.Scanner; public class Demo2_4_7 { /**
* m=是否预约
* n=预约时间
* z=总里程
* p=基本单价
* t=总时间
* dt=低速时间
* zaowan=是否早晚发高峰
* ks=是否往返载客
* y=是否夜间
*
* num=总钱数
* e=预约费用
* f=里程费
* d=低速行驶费用
* */ public static void main(String[] args) { //总钱数 double num = 0; //预约叫车的费用 double e = 0; //里程费 double f = 0; //基本单价 double p = 2.3; //低速行驶费 double d = 0; //空驶费 double k = 0; //夜间费用 double q = 0; //油费 double o = 1; //-------------预约叫车代码 System.out.println("是否预约叫车"); Scanner yuyue = new Scanner(System.in); Scanner yuyueshijian = new Scanner(System.in); boolean m = yuyue.nextBoolean(); if(m) { System.out.println("你已成功预约"); System.out.println("请输入提前多久预约-超过4h收取服务费6元,4h以下为5元"); int n = yuyueshijian.nextInt();//预约时间 if(n>4) { e = 6; }else e = 5; } //------------输入总乘车时间 Scanner chengcheshijian = new Scanner(System.in); System.out.println("输入你乘车总时间"); int t = chengcheshijian.nextInt(); //------------输入总里程代码 Scanner zonglicheng = new Scanner(System.in); System.out.println("输入你目的地的总里程"); int z = zonglicheng.nextInt(); if(z>3) { f = 13+(z-3)*p; }else { System.out.println("总费用"+f+e+o); } //------------输入是否需要低速行驶和早晚高峰 Scanner shifoudisu = new Scanner(System.in); Scanner disushijian = new Scanner(System.in); Scanner zaowangaofeng = new Scanner(System.in); System.out.println("是否需要低速行驶"); boolean s = shifoudisu.nextBoolean(); if(s) { System.out.println("输入低速行驶时间"); int dt =disushijian.nextInt(); //--是否早晚高峰 System.out.println("是否早晚高峰"); boolean zaowan = zaowangaofeng.nextBoolean(); if(zaowan) { d = dt/5*2*p; }else d = dt/5*p; } //-------------空驶费 Scanner shifouwangfan = new Scanner(System.in); if(z>15) { System.out.println("是否往返载客"); boolean ks = shifouwangfan.nextBoolean(); if(ks) { k = (z-15)*p*1.5; } }else k = 0; //-------------是否夜间驾驶 Scanner shifouyejian = new Scanner(System.in); System.out.println("是否夜间驾驶"); boolean y =shifouyejian.nextBoolean(); if(y) { q = (z-3)*p*0.2; }else q = 0; //总费用 num = e+f+q+d+o+k; System.out.println("总费用="+Math.round(num)+"元"); System.out.println("预约叫车的费用="+Math.round(e)+"元"); System.out.println("里程费="+Math.round(f)+"元"); System.out.println("低速行驶费="+Math.round(d)+"元"); System.out.println("空驶费="+Math.round(k)+"元"); System.out.println("夜间费用="+Math.round(q)+"元"); System.out.println("油费="+Math.round(o)+"元"); } }
本文地址:https://blog.csdn.net/weixin_44467097/article/details/107899130