Java语言实现一个非非非常简单的购物车功能
2021/12/29 20:07:46
本文主要是介绍Java语言实现一个非非非常简单的购物车功能,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
具体功能有:
1.伪登录 2.查看自己的购物车(遍历购物车商品) 3.删除购物车中的商品 4.添加新商品到购物车 5下单购物车中的商品 6.查看已经下单的商品列表 7.退出登录
首先建一个User类
package one_day; public class User { private String username; //姓名 private String password; //密码 private int index; //用户编号 private String [] Carts; //一个String数组当做购物车 private String [] Ordered; //一个String数组用来保存已购商品 //遍历已经下单的商品 public void getOrdered() { for (int i = 0; i < this.Ordered.length; i++) { if (this.Ordered[i] != null) { System.out.println(i + 1 + "号商品:" + this.Ordered[i]); } } } public void setOrdered(String[] ordered) { Ordered = ordered; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } public User() { } public User(String username, String password, int index) { this.username = username; this.password = password; this.index=index; } public User(String username, String password) { this.username = username; this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } //遍历购物车中的商品 public void getCarts() { for(int i=0;i<this.Carts.length;i++){ if (this.Carts[i] != null){ System.out.println(i+1+"号商品:"+this.Carts[i]); } } } //删除购物车中的商品 public void delGoods(String delgoal) { int index = -1; for (int i = 0; i < this.Carts.length; i++) { if (delgoal.equals(this.Carts[i])) { index = i; break; } } if (index == -1) { System.out.println("没有找到要删除的元素"); } else { for (int i = index; i < this.Carts.length - 1; i++) { this.Carts[i] = this.Carts[i + 1]; } this.Carts[this.Carts.length - 1] = null; } } //商品加购物车 public void addGoods(String addgoal){ int index=-1; for(int i=0;i<this.Carts.length;i++) { if(this.Carts[i]==null){ index=i; break; } } if(index==-1){ System.out.println("====购物车已满,无法新增商品===="); } else{ this.Carts[index]=addgoal; } } //下单商品,从购物车中删除,添加到已购商品 public void buyGoods2(int[] goalgoods) { for (int k = 0; k < goalgoods.length; k++) { for (int i = 0; i < this.Ordered.length; i++) { if (this.Ordered[i] == null) { this.Ordered[i] = this.Carts[goalgoods[k]-1]; break; } } } for(int m=goalgoods.length-1;m>=0;m--) { for (int j = goalgoods[m]-1; j < this.Carts.length - 1; j++) { this.Carts[j] = this.Carts[j + 1]; } this.Carts[this.Carts.length - 1] = null; } } public void setCarts (String[] carts){ Carts = carts; } }
Test类
package one_day; import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner in=new Scanner(System.in); GoodsUtil util=new GoodsUtil(); int choice=0; int flag=2; User user1=new User("郭老师","123456" ,1); User user2=new User("老八","654321",2); String[] cart1={"猕猴桃","山竹","辣条","包子",null,null}; String[] cart2={"火鸡面","秘制汉堡","大辣椒","臭豆腐",null,null}; String[] ordered1={"香蕉",null,null,null,null,null}; String[] ordered2={"奥里给",null,null,null,null,null}; user1.setCarts(cart1); user1.setOrdered(ordered1); user2.setCarts(cart2); user2.setOrdered(ordered2); User[] users={user1,user2}; while(flag==2){ User user_test=util.login(users); if(user_test!=null){ //打印主界面 flag=0; System.out.println(users[user_test.getIndex()].getUsername()+":登录成功"); do{ System.out.println("################"); System.out.println("1.查看购物车中的所有商品"); System.out.println("2.删除购物车中的商品"); System.out.println("3.添加新商品到购物车"); System.out.println("4.下单购物车中的商品"); System.out.println("5.查看已经下单的商品"); System.out.println("6.退出当前账户"); System.out.println("======请输入你要的操作(1-6)======"); choice = in.nextInt(); switch (choice){ case 1: System.out.println("购物车中商品如下"); users[user_test.getIndex()].getCarts(); break; case 2: System.out.println("===购物车中的商品如下==="); users[user_test.getIndex()].getCarts(); System.out.println("====请输入你要删除的物品名称===="); String delgoal=in.next(); users[user_test.getIndex()].delGoods(delgoal); System.out.println("===删除完毕后的购物车如下==="); users[user_test.getIndex()].getCarts(); break; case 3: System.out.println("===请输入你要加购物车的商品名称==="); String addgoals=in.next(); users[user_test.getIndex()].addGoods(addgoals); System.out.println("===更新购物车商品如下==="); users[user_test.getIndex()].getCarts(); break; case 4: System.out.println("===购物车中的商品如下==="); users[user_test.getIndex()].getCarts(); System.out.println("请输入你要购买的商品序号(用,隔开)"); String str = in.next().toString(); String[] arr = str.split(","); int[] buy = new int[arr.length]; for(int j = 0; j<buy.length;j++) { buy[j] = Integer.parseInt(arr[j]);//Integer.parseInt返回等价于该字符串内数字的等价整数值 } users[user_test.getIndex()].buyGoods2(buy); System.out.println("###下单后更新购物车商品###"); users[user_test.getIndex()].getCarts(); System.out.println("===展示已经下单商品==="); users[user_test.getIndex()].getOrdered(); break; case 5: System.out.println("===展示已经下单商品==="); users[user_test.getIndex()].getOrdered(); break; case 6: System.out.println("===退出当前账号成功==="); System.out.println("===重新登录输入2 退出请输入1==="); flag=in.nextInt(); break; } if(flag==1 || flag==2){ break; } else{ System.out.println("输入 0 继续"); choice = in.nextInt(); } }while (choice==0); } } } }
伪登录功能
package one_day; import java.util.Scanner; public class GoodsUtil { Scanner in = new Scanner(System.in); public User login(User[] users){ System.out.println("请输入账号:"); String username=in.next(); System.out.println("请输入密码:"); String password=in.next(); for(int i=0;i<users.length;i++){ if(username.equals(users[i].getUsername())&&password.equals(users[i].getPassword())){ return new User(username,password,i); } } return null; } }
运行结果
请输入账号: 老八 请输入密码: 654321 老八:登录成功 ################ 1.查看购物车中的所有商品 2.删除购物车中的商品 3.添加新商品到购物车 4.下单购物车中的商品 5.查看已经下单的商品 6.退出当前账户 ======请输入你要的操作(1-6)====== 1 购物车中商品如下 1号商品:火鸡面 2号商品:秘制汉堡 3号商品:大辣椒 4号商品:臭豆腐 输入 0 继续 0 ################ 1.查看购物车中的所有商品 2.删除购物车中的商品 3.添加新商品到购物车 4.下单购物车中的商品 5.查看已经下单的商品 6.退出当前账户 ======请输入你要的操作(1-6)====== 2 ===购物车中的商品如下=== 1号商品:火鸡面 2号商品:秘制汉堡 3号商品:大辣椒 4号商品:臭豆腐 ====请输入你要删除的物品名称==== 臭豆腐 ===删除完毕后的购物车如下=== 1号商品:火鸡面 2号商品:秘制汉堡 3号商品:大辣椒 输入 0 继续 0 ################ 1.查看购物车中的所有商品 2.删除购物车中的商品 3.添加新商品到购物车 4.下单购物车中的商品 5.查看已经下单的商品 6.退出当前账户 ======请输入你要的操作(1-6)====== 4 ===购物车中的商品如下=== 1号商品:火鸡面 2号商品:秘制汉堡 3号商品:大辣椒 请输入你要购买的商品序号(用,隔开) 1,3 ###下单后更新购物车商品### 1号商品:秘制汉堡 ===展示已经下单商品=== 1号商品:奥里给 2号商品:火鸡面 3号商品:大辣椒 输入 0 继续 0 ################ 1.查看购物车中的所有商品 2.删除购物车中的商品 3.添加新商品到购物车 4.下单购物车中的商品 5.查看已经下单的商品 6.退出当前账户 ======请输入你要的操作(1-6)====== 6 ===退出当前账号成功=== ===重新登录输入2 退出请输入1=== 1 Process finished with exit code 0
这篇关于Java语言实现一个非非非常简单的购物车功能的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略