Java 工银笔试题
题目(以项目角度设计) 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 等代码托管仓库,提供代码仓库地址更佳。
package com.javaTest;
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;
}
}
#如果可以,你希望哪个公司来捞你##leader认为你工作不认真怎么办##牛客创作赏金赛##我的国央企投递进展##国企是理工四大天坑的最好选择吗#JavaEE技术 编程开发经验 企业通用技术