Java中if-else if满足条件时变量转换及正确计价实现
Java中通过if-else if实现鸡蛋数量转换与总价计算
核心逻辑是根据单个鸡蛋数量判断是否转换为整打数,避免重复计算同一批鸡蛋导致的总价错误(比如错误地同时按打和单个计算)。针对你提到的需求(当individualEggs=12时总价为2美元而非2.2美元),以下是实现代码:
public class EggCalculator { public static void main(String[] args) { int individualEggs = 12; // 输入的单个鸡蛋数 final double DOZEN_PRICE = 2.0; // 一打鸡蛋价格(美元) final double SINGLE_PRICE = 0.1; // 单个鸡蛋价格(美元) double totalPrice = 0.0; if (individualEggs == 12) { // 数量为12时,转换为1打,按打价计算 int dozenEggs = individualEggs / 12; totalPrice = dozenEggs * DOZEN_PRICE; } else if (individualEggs > 12) { // 数量超过12时,拆分整打数和剩余单个数量分别计算 int dozenEggs = individualEggs / 12; int remainingEggs = individualEggs % 12; totalPrice = dozenEggs * DOZEN_PRICE + remainingEggs * SINGLE_PRICE; } else { // 数量不足12时,按单个价格计算 totalPrice = individualEggs * SINGLE_PRICE; } System.out.println("鸡蛋总价:" + totalPrice + " 美元"); } }
代码说明
- 当
individualEggs等于12时,直接转换为1打按打价计算,避免了错误的混合计算(1打+12个单个=2.2美元)。 - 数量超过12时,拆分出整打数和剩余单个鸡蛋数,分别按对应价格计算后求和。
- 数量不足12时,直接按单个价格计算。
如果你的一打鸡蛋实际价格是1美元,而希望individualEggs=12时总价为2美元,只需调整DOZEN_PRICE的值即可适配。
内容的提问来源于stack exchange,提问作者JANN RYL LUZURIAGA
相关产品推荐
相关产品推荐

