Java 工银笔试题

93 阅读4分钟

20250709144310.png

题目 (以项目角度设计)****

1、有一家超市,出售苹果和草莓。其中苹果 8 元/斤,草莓 13 元/斤。

现在顾客 A 在超市购买了若干斤苹果和草莓,需要计算一共多少钱?

请编写函数,对于 A 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。

 

2、超市增加了一种水果芒果,其定价为 20 元/斤。

现在顾客 B 在超市购买了若干斤苹果、 草莓和芒果,需计算一共需要多少钱?

请编写函数,对于 B 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。

 

3、超市做促销活动,草莓限时打 8 折。

现在顾客 C 在超市购买了若干斤苹果、 草莓和芒果,需计算一共需要多少钱?

请编写函数,对于 C 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。

 

4、促销活动效果明显,超市继续加大促销力度,购物满 100 减 10 块。

现在顾客 D 在超市购买了若干斤苹果、 草莓和芒果,需计算一共需要多少钱?

请编写函数,对于 D 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。

 

要求****

使用 Java 程序编写,IDE 不限,

请使用面向对象的思路进行程序编写。

需在程序中,验证函数计算结果的正确性。

 

提示****

顾客购买的水果斤数,可自行确定。无论数值为多少,均需验证程序计算结果的正确性。

可以编写多个函数分别实现,也可以只编写一个函数实现,方式不限。

面试时,请准备电脑及 IDE 环境进行现场演示。

若能将代码提交到 github、gitee、gitlab 等代码托管仓库,提供代码仓库地址更佳。


import java.math.BigDecimal;  
  
public class ICBCTest {  
    public static void main(String[] args) {  
        System.*out*.println("Hello World!");  
    }  
  
    public static BigDecimal getShoppingAmountTotalPrice(String fruitType,Integer shoppingFruitItemAmount,Boolean isDisCount,Integer disCountCode){  
        if(fruitType==null){  
            return null;  
        }  
        if (fruitType.isEmpty()){  
            return null;  
        }  
        if (shoppingFruitItemAmount==null){  
            return null;  
        }  
        if (shoppingFruitItemAmount<0){  
            return null;  
        }  
        if (isDisCount==null){  
            return null;  
        }  
        if (disCountCode==null){  
            return null;  
        }  
        BigDecimal totalAmount=new BigDecimal("0.00");  
        if (!isDisCount){  
            if (fruitType.equals(FruitName.*APPLE*)){  
                BigDecimal multiply = FruitPrice.*APPLE_PRICE*.getPrice().multiply(new BigDecimal(shoppingFruitItemAmount));  
                totalAmount.add(multiply);  
                return totalAmount;  
            } else if (fruitType.equals(FruitName.*GLASS_DETAIL_FRUIT*)) {  
                BigDecimal multiply = FruitPrice.*GLASS_DETAIL_FRUIT_PRICE*.getPrice().multiply(new BigDecimal(shoppingFruitItemAmount));  
                totalAmount.add(multiply);  
                return totalAmount;  
            }else if (fruitType.equals(FruitName.*MANGO*)){  
                BigDecimal multiply = FruitPrice.*MANGO_PRICE*.getPrice().multiply(new BigDecimal(shoppingFruitItemAmount));  
                totalAmount.add(multiply);  
                return totalAmount;  
            }  
        }else {  
            if (fruitType.equals(FruitName.*GLASS_DETAIL_FRUIT*)) {  
                if(disCountCode.equals(DiscountEnum.*DISCOUNT_ENUM_EIGHTY_PERCENT_GLASS_FRUIT*.getDiscountCode())){  
                    BigDecimal multiply = FruitPrice.*GLASS_DETAIL_FRUIT_PRICE*.getPrice().multiply(new BigDecimal(shoppingFruitItemAmount));  
                    BigDecimal multiply1 = multiply.multiply(new BigDecimal("0.80"));  
                    totalAmount.add(multiply1);  
                    return totalAmount;  
                }  
            } else if (disCountCode.equals(DiscountEnum.*DISCOUNT_ENUM_SHOPING_TOTAL_PRICE_MINUS*.getDiscountCode())) {  
                if (fruitType.equals(FruitName.*APPLE*)){  
                    BigDecimal multiply = FruitPrice.*APPLE_PRICE*.getPrice().multiply(new BigDecimal(shoppingFruitItemAmount));  
                    totalAmount.add(multiply);  
                    return totalAmount;  
                } else if (fruitType.equals(FruitName.*MANGO*)){  
                    BigDecimal multiply = FruitPrice.*MANGO_PRICE*.getPrice().multiply(new BigDecimal(shoppingFruitItemAmount));  
                    totalAmount.add(multiply);  
                    if (totalAmount.equals(new BigDecimal("100.00"))){  
                        totalAmount.subtract(new BigDecimal("10.00"));  
                    }  
                    return totalAmount;  
                }  
            }  
        }  
        return null;  
    }  
}  
class SuperMarketCustomer{  
    private String id;  
    private String name;  
    private String superMarketId;  
  
    public String getId() {  
        return id;  
    }  
  
    public void setId(String id) {  
        this.id = id;  
    }  
  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
  
    public String getSuperMarketId() {  
        return superMarketId;  
    }  
  
    public void setSuperMarketId(String superMarketId) {  
        this.superMarketId = superMarketId;  
    }  
}  
class SuperMarket{  
    private String id;  
    private String name;  
  
    public String getId() {  
        return id;  
    }  
  
    public void setId(String id) {  
        this.id = id;  
    }  
  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
}  
class Goods{  
    private String id;  
    private String name;  
    private BigDecimal price;  
    private String superMarketId;  
    private String discountActivityId;  
    public String getId() {  
        return id;  
    }  
  
    public void setId(String id) {  
        this.id = id;  
    }  
  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
  
    public BigDecimal getPrice() {  
        return price;  
    }  
  
    public void setPrice(BigDecimal price) {  
        this.price = price;  
    }  
  
    public String getSuperMarketId() {  
        return superMarketId;  
    }  
  
    public void setSuperMarketId(String superMarketId) {  
        this.superMarketId = superMarketId;  
    }  
  
    public String getDiscountActivityId() {  
        return discountActivityId;  
    }  
  
    public void setDiscountActivityId(String discountActivityId) {  
        this.discountActivityId = discountActivityId;  
    }  
}  
class GoodsItem{  
    private String id;  
    private String name;  
    private String goodsId;  
    private Integer shoppingAmount;  
  
    public String getId() {  
        return id;  
    }  
  
    public void setId(String id) {  
        this.id = id;  
    }  
  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
  
    public String getGoodsId() {  
        return goodsId;  
    }  
  
    public void setGoodsId(String goodsId) {  
        this.goodsId = goodsId;  
    }  
  
    public Integer getShoppingAmount() {  
        return shoppingAmount;  
    }  
  
    public void setShoppingAmount(Integer shoppingAmount) {  
        this.shoppingAmount = shoppingAmount;  
    }  
}  
class DiscountActivity{  
    private String id;  
    private String name;  
    private Integer discountCode;  
  
    public String getId() {  
        return id;  
    }  
  
    public void setId(String id) {  
        this.id = id;  
    }  
  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
  
    public Integer getDiscountCode() {  
        return discountCode;  
    }  
  
    public void setDiscountCode(Integer discountCode) {  
        this.discountCode = discountCode;  
    }  
}  
enum DiscountEnum{  
    *DISCOUNT_ENUM_EIGHTY_PERCENT_GLASS_FRUIT*("0001","草莓水果价格打八折"),  
    *DISCOUNT_ENUM_SHOPING_TOTAL_PRICE_MINUS*("0002","购物满100减10元");  
    private String discountCode;  
    private String desc;  
    DiscountEnum(String discountCode,String desc){  
        this.discountCode=discountCode;  
        this.desc=desc;  
    }  
  
    public String getDiscountCode() {  
        return discountCode;  
    }  
  
    public String getDesc() {  
        return desc;  
    }  
}  
enum FruitName{  
    *APPLE*(0001,"苹果"),  
    *GLASS_DETAIL_FRUIT*(0002,"草莓"),  
    *MANGO*(0003,"芒果");  
    private Integer fruidCode;  
    private String descName;  
    FruitName(Integer fruidCode,String descName){  
        this.fruidCode=fruidCode;  
        this.descName=descName;  
    }  
  
    public Integer getFruidCode() {  
        return fruidCode;  
    }  
  
    public String getDescName() {  
        return descName;  
    }  
}  
enum FruitPrice{  
    *APPLE_PRICE*(0001,"苹果8元一斤",new BigDecimal("8.00")),  
    *GLASS_DETAIL_FRUIT_PRICE*(0002,"草莓13元一斤",new BigDecimal("13.00")),  
    *MANGO_PRICE*(0003,"芒果20元一斤",new BigDecimal("20.00"));  
    private Integer priceCode;  
    private String priceDesc;  
    private BigDecimal price;  
    FruitPrice(Integer priceCode,String priceDesc,BigDecimal price){  
        this.priceCode=priceCode;  
        this.priceDesc=priceDesc;  
        this.price=price;  
    }  
  
    public Integer getPriceCode() {  
        return priceCode;  
    }  
  
    public String getPriceDesc() {  
        return priceDesc;  
    }  
  
    public BigDecimal getPrice() {  
        return price;  
    }  
}