简单模拟购物车

  1 public class Goods {
  2     int id;
  3     String name;
  4     double price;
  5     int buyNumber;
  6 }
  7 
  8 
  9 public class ShopCar {
 10     public static void main(String[] args) {
 11 
 12         Goods[] shopCar = new Goods[100];
 13 
 14         while (true) {
 15             System.out.println("请输入以下命令进行操作");
 16             System.out.println("添加商品到购物车:add");
 17             System.out.println("查询购物车商品:query");
 18             System.out.println("修改商品购买数量:update");
 19             System.out.println("结算购买商品的金额:pay");
 20 
 21             Scanner sc = new Scanner(System.in);
 22             System.out.println("请输入命令");
 23             String command = sc.next();
 24 
 25             switch (command){
 26                 case "add":
 27                     addGoods(shopCar, sc);
 28                     break;
 29                 case "query":
 30                     queryGoods(shopCar);
 31                     break;
 32                 case "update":
 33                     updateGoods(shopCar, sc);
 34                     break;
 35                 case "pay":
 36                     payGoods(shopCar);
 37                     break;
 38                 default:
 39                     System.out.println("命令错误请从新输入");
 40             }
 41         }
 42     }
 43 
 44     private static void payGoods(Goods[] shopCar) {
 45         //  先查出购买的索引商品
 46         queryGoods(shopCar);
 47         //  结算,定义一个总金额
 48         double money = 0.0;
 49         //  便利所有商品求和
 50         for (int i = 0; i < shopCar.length; i++) {
 51             Goods g = shopCar[i];
 52             if (g != null){
 53                 money += (g.price * g.buyNumber);
 54             }else {
 55                 System.out.println("没有想要购买的商品");
 56                 break;
 57             }
 58         }
 59         System.out.println("商品总金额:" + money);
 60     }
 61 
 62     private static void updateGoods(Goods[] shopCar, Scanner sc) {
 63         //  修改商品信息
 64         while (true) {
 65             System.out.println("请输入需要修改的商品id:");
 66             int id = sc.nextInt();
 67             Goods g = getGoodsId(shopCar, id);
 68             if (g == null){
 69                 System.out.println("该商品不存在请确认后在此输入");
 70             }else {
 71                 //  商品存在进行修改
 72                 System.out.println("请输入:" + g.name + "商品购买数量");
 73                 int goodsNumber = sc.nextInt();
 74                 System.out.println("请输入:" + g.name + "商品价格");
 75                 double goodsPrice = sc.nextDouble();
 76                 g.buyNumber = goodsNumber;
 77                 g.price = goodsPrice;
 78                 System.out.println("商品修改完成");
 79                 queryGoods(shopCar);
 80                 break;
 81             }
 82         }
 83     }
 84     private static Goods getGoodsId(Goods[] shopCar, int id) {
 85         //  获取商品id进行传输
 86         for (int i = 0; i < shopCar.length; i++) {
 87             Goods g = shopCar[i];
 88             if (g != null){
 89                 if (g.id == id){
 90                     return g;
 91                 }
 92             }else {
 93                 return null;
 94             }
 95         }
 96         return null;
 97     }
 98 
 99     private static void queryGoods(Goods[] shopCar) {
100 
101         System.out.println("=========查询购物车=========");
102         System.out.println("商品编号\t\t商品名称\t\t商品数量\t\t商品价格");
103 
104         for (int i = 0; i < shopCar.length; i++) {
105             Goods g = shopCar[i];
106             if (g != null){
107                 System.out.println(g.id + "\t\t\t" + g.name + "\t\t\t" + g.buyNumber + "\t\t\t" + g.price);
108             }
109         }
110     }
111 
112     private static void addGoods(Goods[] shopCar, Scanner sc) {
113         //  录入购买信息
114         System.out.println("请输入购买商品编号(不重复):");
115         int id = sc.nextInt();
116         System.out.println("请输入购买商品的名称:");
117         String name = sc.next();
118         System.out.println("请输入购买商品的数量:");
119         int buyNumber = sc.nextInt();
120         System.out.println("请输入购买商品的价格:");
121         double price = sc.nextDouble();
122 
123         //  购买商品信息封装成对象
124         Goods g = new Goods();
125         g.id = id;
126         g.name = name;
127         g.buyNumber = buyNumber;
128         g.price = price;
129 
130         //  将对象添加到购物车数组中
131         for (int i = 0; i < shopCar.length; i++) {
132             if (shopCar[i] == null){
133                 //  说明没有元素,将数据添加进去
134                 shopCar[i] = g;
135                 break;
136             }
137         }
138         System.out.println("商品:" + g.name + "\t 添加购物车成功!");
139     }
140 }

 

posted @ 2024-01-19 20:31  小※兽  阅读(13)  评论(0)    收藏  举报