您的位置:首页 > 编程语言 > Java开发

Java出租车计费训练任务

2020-08-09 20:17 59 查看

出租车计费训练任务

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

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: