公交卡充值赠送金额计算优化
小明去公交充值中心给自己的公交卡充值,充值中心有限时优惠活动。编程帮助充值中心,根据客户的充值金额,计算实际到账的金额。
解决方案
- 获取充值金额:从用户输入中读取充值金额。
- 判断区间:与活动区间进行比较,确定赠送金额。
优化代码
之前的代码忽略了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; } } } }