
公交卡充值赠送金额计算优化
小明去公交充值中心给自己的公交卡充值,充值中心有限时优惠活动。编程帮助充值中心,根据客户的充值金额,计算实际到账的金额。
解决方案
- 获取充值金额:从用户输入中读取充值金额。
- 判断区间:与活动区间进行比较,确定赠送金额。
优化代码
之前的代码忽略了200元以下充值金额没有赠送活动,以及充值的范围。经过优化,代码如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 配置赠送金额区间和赠送金额
int[] nums = {500, 300, 200, 0};
int[] price = {200, 100, 50, 0};
// 输入充值金额
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// 极值判断(充值金额的有效范围)
if (n < 0 || n >= Integer.MAX_VALUE) {
System.out.println("请输入有效的充值金额!");
return;
}
// 区间判断(赠送金额)
for (int i = 0; i < nums.length; i++) {
if (n >= nums[i]) {
System.out.println(n + price[i]);
break;
}
}
}
}










