极兔速递面试题求指教
大致就是完善一个购物车,结算购物车金额的题,极其简单,但是我测试用例只过了50%
代码如下,哪个大佬能帮忙看看问题
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
class Solution {
// 购物车集合
public Map<Product, Integer> cart;
public Solution() {
cart = new HashMap<>();
}
public void addProductToCart(Product product, int quantity) {
cart.put(product,cart.getOrDefault(product,0)+quantity);
}
public void removeProduct(Product product) {
cart.remove(product);
}
public String getTotalAmount() {
BigDecimal amount =BigDecimal.ZERO;
for (Map.Entry<Product, Integer> entry : cart.entrySet()) {
String price = entry.getKey().getPrice();
Integer quantity = entry.getValue();
BigDecimal priceVal = new BigDecimal(price);
BigDecimal temp = priceVal.multiply(new BigDecimal(quantity)).setScale(2,RoundingMode.HALF_UP);
amount = amount.add(temp);
}
String totalamount = String.valueOf(amount);
return totalamount;
}
}
class Product {
private String id;
private String name;
private String price;
public Product(String id, String name, String price) {
this.id = id;
this.name = name;
this.price = price;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getPrice() {
return price;
}
public static void main(String[] args) {
Product product=new Product("1","测试","2");
Product product2=new Product("2","测试","2");
Solution solution=new Solution();
solution.addProductToCart(product,5);
solution.addProductToCart(product,2);
solution.addProductToCart(product2,1);
System.out.println(solution.cart);
System.out.println(solution.getTotalAmount());
}
}
代码如下,哪个大佬能帮忙看看问题
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
class Solution {
// 购物车集合
public Map<Product, Integer> cart;
public Solution() {
cart = new HashMap<>();
}
public void addProductToCart(Product product, int quantity) {
cart.put(product,cart.getOrDefault(product,0)+quantity);
}
public void removeProduct(Product product) {
cart.remove(product);
}
public String getTotalAmount() {
BigDecimal amount =BigDecimal.ZERO;
for (Map.Entry<Product, Integer> entry : cart.entrySet()) {
String price = entry.getKey().getPrice();
Integer quantity = entry.getValue();
BigDecimal priceVal = new BigDecimal(price);
BigDecimal temp = priceVal.multiply(new BigDecimal(quantity)).setScale(2,RoundingMode.HALF_UP);
amount = amount.add(temp);
}
String totalamount = String.valueOf(amount);
return totalamount;
}
}
class Product {
private String id;
private String name;
private String price;
public Product(String id, String name, String price) {
this.id = id;
this.name = name;
this.price = price;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getPrice() {
return price;
}
public static void main(String[] args) {
Product product=new Product("1","测试","2");
Product product2=new Product("2","测试","2");
Solution solution=new Solution();
solution.addProductToCart(product,5);
solution.addProductToCart(product,2);
solution.addProductToCart(product2,1);
System.out.println(solution.cart);
System.out.println(solution.getTotalAmount());
}
}
全部评论
没事了,笔试过了
相关推荐
03-08 21:48
哈尔滨理工大学 游戏后端 点赞 评论 收藏
分享
腾讯云智研发公司福利 853人发布