Java出租车计费训练任务

出租车计费训练任务

Java出租车计费训练任务

本次任务一起来解决出租车计费问题。某市出租车计费标准如下图所示,
请根据此标准完成一个出租车计费模拟功能,能够计算总费用和列出产生费用
项目详细情况说明,帮助出租车师傅和乘客了解计费标准。

任务概述

收费表在这里插入图片描述

任务提示

结合上述表格,可以得出:总车费=里程费用+低速行驶费(或者等候费)
+预约叫车服务费+空驶费+夜间收费+燃油附加费。需要收集的数据有:里程数、低速行驶时长(早晚高峰期行驶时长和其他时间段行驶时长)、是否预约叫车(按四小时为标准)、开始乘坐出租车时间、出租车到达终点站时间,结合这些数据和表中提供的标准就可以使用程序进行计算总车费了。

任务过程

  1. 声明好程序所需的变量,用于存储数据,请注意数据类型。
  2. 提示用户输入总里程数、总乘车时间、是否预约叫车(如果是预约叫车
    还需要确认是否在 4 小时以内)、是否有低速行驶(如果有,提示输入低速行驶时间,需要考虑早晚高峰),如果里程超过 15 公里,需要输入是否往返
    公里范围内,决定空驶费。分别将这些用户输入的值,通过赋值存入对应的变量中。
  3. 根据计费标准和用户输入的数据进行总费用计算处理。
  4. 输出总费用和每个产生费用单项的详细情况说明。

代码

// 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)+"元");
		
	}

}


  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值