购物车模型的实现
一、入口函数
package test.test2_1;
import java.util.*;
public class Demo {
public static void main(String[] args) {
Map<Integer,Car> mapuser=new HashMap<>();
List<IT_Iform> list=new ArrayList<>();
list.add(new IT_Iform(1,"雀巢",5));
list.add(new IT_Iform(2,"瑞幸",9.9));
list.add(new IT_Iform(3,"幸运咖",8));
Scanner sc=new Scanner(System.in);
System.out.println("请选择你需要的咖啡:");
for(int i=0;i<list.size();i++)
System.out.println(list.get(i).toString());
int n=sc.nextInt();
System.out.print("请选择购买的数量");
int k=sc.nextInt();
Car car=new Car();
for(Map.Entry<Integer,Car> entry:mapuser.entrySet()){
if(list.get(n-1).getNo()==entry.getKey()){
car=entry.getValue();
car.setNum(car.getNum()+k);
}
}
if(car.getNum()==0)
car=new Car(k,list.get(n-1));
mapuser.put(list.get(n-1).getNo(),car);
for(Map.Entry<Integer,Car> entry:mapuser.entrySet()){
System.out.print(entry.getValue());
System.out.println("总计"+(entry.getValue().getIt().getPrice()*entry.getValue().getNum()));
}
}
}
二、类定义
package test.test2_1;
public class IT_Iform {
private int no;
private String name;
private double price;
public IT_Iform(int no, String name, double price) {
this.no = no;
this.name = name;
this.price = price;
}
public IT_Iform() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String toString() {
return no + "\t\t" + name + "\t\t" + price;
}
}
三、购物车定义
package test.test2_1;
public class Car {
private IT_Iform it;
private int num;
public Car(int num, IT_Iform it) {
this.num = num;
this.it = it;
}
public Car() {
}
public IT_Iform getIt() {
return it;
}
public void setIt(IT_Iform it) {
this.it = it;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String toString() {
return it + "\t\t\t" + num ;
}
}