一、题目
描述
牛牛正在寄快递,他了解到快递在 1kg 以内的按起步价 20 元计算,超出部分按每 kg 1元计算,不足 1kg 部分按 1kg计算。如果加急的话要额外付五元,请问牛牛总共要支付多少快递费
输入描述:
第一行输入一个单精度浮点数 a 和一个字符 b ,a 表示牛牛要寄的快递的重量,b表示牛牛是否选择加急,'y' 表示加急 ,'n' 表示不加急。
输出描述:
输出牛牛总共要支付的快递费用
示例1
输入:
1.5 y
输出:
26
示例2
输入:
0.7 n
输出:
20
二、思路解析
这道题也是一道简单的条件判断题,我们做好情况分类即可。
不过我第一次做,向上取整这步操作是用 n - (int) n 来判断的,因为强转成 int 之后,小数部分会被消去,这时候用原数据一减,要是大于零,结果就得加一了。
具体实现请看下面代码👇
三、完整代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
double n = in.nextDouble();
char ch = in.next().charAt(0);
int ret = 0;
if(n <= 1){
ret = 20;
}
else{
ret = 20 + (int)Math.ceil(n - 1);
}
if(ch == 'y'){
ret += 5;
}
System.out.print(ret);
}
}
以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!