java出租车计费

出租车计费

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

在这里插入图片描述

二、代码

 public static void main(String[] args) {
        double cost = 0.0D;
        double price = 2.3D;
        Scanner input = new Scanner(System.in);
        System.out.println("输入里程数:");
        double mile = (double)input.nextInt();
        cost = mile < 3.0D ? 13.0D : (mile - 3.0D) * price + 13.0D;
        System.out.println("请输入时间");
        double daytime = input.nextDouble();
        if (daytime >= 0.0D && daytime <= 5.0D || daytime >= 23.0D && daytime <= 24.0D) {
            price *= 1.2D;
            cost = (mile - 3.0D) * price + 13.0D;
        }

        boolean lowspeed;
        if (mile > 15.0D) {
            System.out.println("起始距离是否超过2公里,输入shi表示超过,其他表示没有");
            lowspeed = input.next().equals("shi");
            if (lowspeed) {
                cost += price * 0.5D * (mile - 15.0D);
            }
        }

        System.out.println("是否有低速行驶,输入yes表示有,其他表示没有");
        lowspeed = input.next().equals("yes");
        if (lowspeed) {
            System.out.println("请输入行驶的分钟数");
            int lowtime = input.nextInt();
            if ((daytime < 7.0D || daytime > 9.0D) && (daytime < 17.0D || daytime > 19.0D)) {
                cost += (double)(lowtime / 5) * price;
            } else {
                price *= 2.0D;
                cost += (double)(lowtime / 5) * price;
            }
        }

        System.out.println("是否有预约叫车,输入have表示有,其他表示没有");
        boolean order = input.next().equals("have");
        if (order) {
            System.out.println("请输入预约时长");
            double ortime = input.nextDouble();
            if (ortime > 4.0D) {
                cost += 6.0D;
            } else {
                cost += 4.0D;
            }
        }

        if (cost % 1.0D > 0.5D) {
            ++cost;
        } else {
            cost /= 1.0D;
        }

        int cost1 = (int)cost;
        System.out.println(cost1 + 1);
    }
这道题对于初学者来说还是蛮难的,但后来的话只要想通了要根据价格一步步的对其应该收什么费来进行判断,并且添加上去,就可以根据这条思路来写程序了。用equals来判断。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值