码迷,mamicode.com
首页 > 其他好文 > 详细

分支-04. 出租车计价(四舍五入)

时间:2014-09-12 17:00:03      阅读:543      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   java   ar   strong   art   

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

  • 起步里程为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
import java.util.Scanner;  
public class Main 
{
    public static void main(String[] args)
    {
        int step = 10;//起步价
        Scanner s = new Scanner(System.in);
            String input = s.nextLine();
            String[] inputs = input.split(" ");
            if(inputs.length == 2)
            {    
                float roads = Float.parseFloat(inputs[0]);
                int time = Integer.parseInt(inputs[1]);
                int i = (int) roads/3;//判断是否超出3公里
                int j = (int) time/5;//判断是否超出5分钟
                if(j < 1)//5分钟内
                {
                    if(i<1)//3公里内(不含3公里)
                     System.out.print(step);
                    else
                     {
                        if(roads <= step)//大于等于3公里小于等于10公里
                         System.out.print(Math.round(step+(roads-3)*2));
                        else //大于10公里
                         System.out.print(Math.round(step+14+(roads-10)*3)); 
                     }
                }
                else//超过5分钟
                {
                    if(i<1)
                     System.out.print(step+2*j);
                    else
                     {
                        if(roads <= step)
                         System.out.print(Math.round(step+(roads-3)*2+2*j));
                        else 
                         System.out.print(Math.round(step+14+(roads-10)*3+2*j)); 
                     }
                }
            }
    }
}

Java的四舍五入:

(转载自http://blog.csdn.net/shangboerds/article/details/7477336

Java 的 Math 和 StrictMath 类提供了一些关于数学运算的静态方法. Math 类中的方法运行速度更快而 StrictMath 类中的方法更为精确.

Math 和 StrictMath 类提供了以下四个方法来进行四舍五入运算:

  ceil // 天花板
  round // 四舍五入, 返回整数
  rint // 四舍五入, 返回浮点数
  floor // 地板

来看下面代码的结果, 你就知道它们的意思了。

    public static void main(String[] args) {
        System.out.println("ceil testing");
        System.out.println("1.4 --ceil--> " + Math.ceil(1.4));
        System.out.println("1.5 --ceil--> " + Math.ceil(1.5));
        System.out.println("-1.4 --ceil--> " + Math.ceil(-1.4));
        System.out.println("-1.5 --ceil--> " + Math.ceil(-1.5));
        System.out.println();

        System.out.println("round testing");
        System.out.println("1.4 --round--> " + Math.round(1.4));
        System.out.println("1.5 --round--> " + Math.round(1.5));
        System.out.println("-1.4 --round--> " + Math.round(-1.4));
        System.out.println("-1.5 --round--> " + Math.round(-1.5));
        System.out.println();

        System.out.println("rint testing");
        System.out.println("1.4 --rint--> " + Math.rint(1.4));
        System.out.println("1.5 --rint--> " + Math.rint(1.5));
        System.out.println("-1.4 --rint--> " + Math.rint(-1.4));
        System.out.println("-1.5 --rint--> " + Math.rint(-1.5));
        System.out.println();

        System.out.println("floor testing");
        System.out.println("1.4 --floor--> " + Math.floor(1.4));
        System.out.println("1.5 --floor--> " + Math.floor(1.5));
        System.out.println("-1.4 --floor--> " + Math.floor(-1.4));
        System.out.println("-1.5 --floor--> " + Math.floor(-1.5));
    }

结果:

ceil testing
1.4 --ceil--> 2.0
1.5 --ceil--> 2.0
-1.4 --ceil--> -1.0
-1.5 --ceil--> -1.0

round testing
1.4 --round--> 1
1.5 --round--> 2
-1.4 --round--> -1
-1.5 --round--> -1

rint testing
1.4 --rint--> 1.0
1.5 --rint--> 2.0
-1.4 --rint--> -1.0
-1.5 --rint--> -2.0

floor testing
1.4 --floor--> 1.0
1.5 --floor--> 1.0
-1.4 --floor--> -2.0
-1.5 --floor--> -2.0

 

分支-04. 出租车计价(四舍五入)

标签:style   blog   http   color   io   java   ar   strong   art   

原文地址:http://www.cnblogs.com/lsgcoder101/p/3968584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!