【java】PTA7-1出租车计价

该博客围绕出租车计价展开,介绍某城市出租车收费标准,包括起步里程、超里程收费及临时停车收费规则。通过Java代码实现车费计算,主要运用else - if选择分支结构区分不同里程收费情况,还考虑了暂停时间计费。掌握此语句对学习Java很重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出租车计价

题目描述:

本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:

  • 起步里程为3公里,起步费10元;
  • 超起步里程后10公里内,每公里2元;
  • 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
  • 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

输入格式:

输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。

输出格式:

在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。

输入样例1:

2.6 2

输出样例1:

10

输入样例2:

5.1 4

输出样例2:

14

输入样例3:

12.5 9

输出样例3:

34

 思路:本题主要考察java中else-if选择分支结构的用法,题目中的里程收费有3种情况,分别是milage<=3, 3<milage<=10,milage>10,我们可以分别使用else if来区分这三种情况,暂停时间计费只需要考虑一种情况所以不需要用到else if,详细代码如下:

import java.util.Scanner;
public class Main{
    public static void main(String args[]){
        double Milage;//定义里程
        int time;//定义暂停时间
        int cost = 0;//定义收费
        Scanner scan = new Scanner(System.in);
        Milage = scan.nextDouble();
        time = scan.nextInt();
        if(Milage <= 3) cost += 10;//milage<=3的情况
        else if(Milage >3 && Milage <= 10) cost += Math.round(10+(Milage-3)*2);//10=>milage>3的情况
        else if(Milage > 10) cost += Math.round(24+(Milage-10)*3);//milage>10的情况
        cost += Math.floor(time/5) * 2;//cost计入暂停收费的情况
        System.out.println(cost);
    }
}

运行效果:

评测详情

测试点提示内存(KB)用时(ms)结果得分
0sample 1 起步价,不等待16252154

答案正确

2 / 2
1sample 2 超过、10公里内,不等待,舍15732158

答案正确

5 / 5
2sample 3 超过10公里,等待,入16088142

答案正确

5 / 5
33公里、5分钟15816138

答案正确

3 / 3

总结:掌握else if的选择分支语句可以帮助我们在学习java过程中解决一些简单的选择问题,熟练掌握else if的运用对于学习java是非常重要的!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值