Java教程

出租车计费模拟功能

本文主要是介绍出租车计费模拟功能,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

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

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

package day01_text1;

import java.util.Scanner;

public class demo03 {
/*
 * 出租车计费模拟功能
*/
 public static void main(String[] args) {
	 Scanner input =new Scanner(System.in);
	double liChengFei=0;//里程费
	double diSuXingShiFei=0;//低速行驶费
	double yuYueJiaoCheFuWuFei=0;//预约叫车服务费
	double kongShiFei=0;//空驶费
	double yeJianShouFei=0;//夜间收费
	double ranYouFuJiaFei=1;//燃油附加费
	double danJia=2.3;//单价
	double zongFeiYong;//总费用
	
	/*
	 * 里程费
	 */
	System.out.println("请输入总里程");
	double zongLiCheng=input.nextDouble();
	if(zongLiCheng>3) {
		liChengFei=13+(zongLiCheng-3)*danJia;
	}else {
		liChengFei=13;
  }
	
	/*
	 * 低速行驶费用
	 */
	System.out.println("是否有低速行驶:true或false");
	     boolean diSu =input.nextBoolean();
	     if(diSu) {
	    System.out.println("请输入低速时行驶时间");
	   double diSuXingShiShiJian=input.nextDouble();
	   System.out.println("是否为早晚高峰:true或false");
	   boolean gaoFeng =input.nextBoolean();
	   if(gaoFeng) {
		   diSuXingShiFei=(diSuXingShiShiJian/5)*danJia*2;
	   }else {
		   diSuXingShiFei=diSuXingShiShiJian*danJia;
	 }
  }
	
	    /*
	     * 预约叫车服务费
	     */
	     System.out.println("是否预约叫车:true或false");
	     boolean yuYue =input.nextBoolean();
	     if(yuYue) {
	    	 System.out.println("请输入提前预约叫车的时间");
	    	 int siXiaoShiZhiNei=input.nextInt();
	    	 if(siXiaoShiZhiNei>4) {
	    		 yuYueJiaoCheFuWuFei=6;
	    	 }else {
	    		 yuYueJiaoCheFuWuFei=5;
	    }
   }
	     
	     /*
	      * 空驶费
	      */
	     if(zongLiCheng>15) {
	    	 System.out.println("是否往返两公里范围内:true或false");
	    	 boolean wangFan=input.nextBoolean();
	    	 if(!wangFan) {
	    		 kongShiFei=(zongLiCheng-15)*danJia*1.5;
	     }
   }
	     
	     /*
	      * 夜间收费
	      */
	     System.out.println("请输入是否为夜间行驶23:00(含)~次日5点(不含):true或false");
	     boolean yeJianXingShi=input.nextBoolean();
	     if(yeJianXingShi) {
	    	 yeJianShouFei=(zongLiCheng-3)*danJia*0.2;//注意哦 因为这里是加收的,所以不是*1.2
	     }
	     
	     
	zongFeiYong=liChengFei+diSuXingShiFei+yuYueJiaoCheFuWuFei+kongShiFei+yeJianShouFei+ranYouFuJiaFei;
	 System.out.println("本次总费用:"+Math.round(zongFeiYong));
	 System.out.println("里程费用:"+Math.round(liChengFei));
     System.out.println("低速行驶费:"+ Math.round(diSuXingShiFei));
	 System.out.println("预约叫车服务费:"+Math.round(yuYueJiaoCheFuWuFei));
	 System.out.println("空驶费:"+Math.round(kongShiFei));
	 System.out.println("夜间收费:"+Math.round(yeJianShouFei));
	 System.out.println("燃油附加费:"+Math.round(ranYouFuJiaFei));
 }
}

代码执行结果

 

这篇关于出租车计费模拟功能的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!