java控制台输出订单管理系统
import kotlin.collections.ArrayDeque;
import java.util.*;
//Define store Object
class Product {
int Id ;
String Productname;
int Price;
int Num;
Product(int id,String productname,int price,int num){
Id = id;
Productname = productname;
Price = price;
Num = num;
}
}
class UserOrder {
int Id ;
String Productname;
int Price;
int Num;
UserOrder(int id,String productname,int price,int num){
Id = id;
Productname = productname;
Price = price;
Num = num;
}
void getTotalPrice(){
}
}
class Orderplatform {
//business object
public static boolean flag = true;
public static List<Product> productlist= new LinkedList<Product>();
public static Iterator<Product> productiter= productlist.iterator();
//user object
public static List<UserOrder> userlist= new LinkedList<UserOrder>();
public static Iterator<UserOrder> useriter= userlist.iterator();
public static boolean userflag = true;
Orderplatform(String s){
ProjectPower projectPower;
System.out.println("商家编辑今日商品:"+s+" 请输入 1,展现商品列表,输入 2,商品新增,输入 3,商品编辑 ,输入 4,商品删除,5 exit" +
",6 进入用户下单\"");
do {
Scanner scanner = new Scanner(System.in);
String select = scanner.nextLine();
//decrese mang quit
try {
int userdicesion = Integer.parseInt(select);
switch (userdicesion) {
case 1:
projectPower = new ProductsList();
projectPower.Partpower();
break;
case 2:
projectPower = new ProductsAdd();
projectPower.Partpower();
break;
case 3:
projectPower = new ProductsEdit();
projectPower.Partpower();
break;
case 4:
projectPower = new ProductsDell();
projectPower.Partpower();
break;
case 5:
exit();
case 6:
UserAdpter userAdpter = new UserAdpter();
break;
default:
break;
}
}
catch (Exception e){
System.out.println("请输入 1,展现商品列表,输入 2,商品新增,输入 3,商品编辑 ,输入 4,商品删除,5 exit ,6 进入用户下单");
}
}while (flag);
}
void exit(){
System.out.println("退出平台");
flag = false;
}
//for business
interface ProjectPower{
void Partpower();
}
class ProductsList implements ProjectPower{
public void Partpower() {
System.out.println("商品列表");
productiter = productlist.iterator();
while (productiter.hasNext()){
Product localproduct = productiter.next();
System.out.println("商品编号为"+localproduct.Id+", 商品名称为"+localproduct.Productname+
", 商品价格为"+localproduct.Price+" 商品数量为"+localproduct.Num);
}
}
}
class ProductsAdd implements ProjectPower{
public void Partpower() {
System.out.println("输入商品名称");
Scanner scanner = new Scanner(System.in);
String productname = scanner.nextLine();
System.out.println("输入商品价格");
int localprice = scanner.nextInt();
System.out.println("输入商品数量");
int localnum = scanner.nextInt();
productlist.add(new Product(productlist.size(),productname,localprice,localnum));
System.out.println("录入成功");
}
}
class ProductsEdit implements ProjectPower{
public void Partpower() {
System.out.println("请输入商品编号");
Scanner scanner = new Scanner(System.in);
int localid= scanner.nextInt();
System.out.println("当前的商品信息为: 商品编号为"+productlist.get(localid).Id+", 商品名称为"+productlist.get(localid)
.Productname+", 商品价格为"+productlist.get(localid).Price+" 商品数量为"+
productlist.get(localid).Num);
System.out.println("输入商品名称");
String productname = scanner.next();
System.out.println("输入商品价格");
int localprice = scanner.nextInt();
System.out.println("输入商品数量");
int localnum = scanner.nextInt();
System.out.println("编辑成功");
productlist.set(localid,new Product(productlist.size(),productname,localprice,localnum));
}
}
class ProductsDell implements ProjectPower{
public void Partpower() {
System.out.println("请输入商品编号");
Scanner scanner = new Scanner(System.in);
int localid= scanner.nextInt();
System.out.println("当前的商品信息为: 商品编号为"+productlist.get(localid).Id+", 商品名称为"+productlist.get(localid)
.Productname+", 商品价格为"+productlist.get(localid).Price+" 商品数量为"
+productlist.get(localid).Num);
System.out.println("是否删除?确认输入y");
String delcontrol = scanner.next();
if (delcontrol.equals("y")||delcontrol.equals("Y")){
productlist.remove(localid);
System.out.println("删除成功");
}
}
}
//for user adpter,or it will be too large
class UserAdpter{
Userplateform userplateform = new Userplateform();
UserAdpter(){
userplateform.userding();
}
}
//for user make a order
public class Userplateform{
public void userding()
{
do {
System.out.println("用户你好,当前商品列表为");
productiter = productlist.iterator();
while (productiter.hasNext()) {
Product localproduct = productiter.next();
System.out.println("商品编号为" + localproduct.Id + ", 商品名称为" + localproduct.Productname +
", 商品价格为" + localproduct.Price + " 商品数量为" + localproduct.Num);
}
Scanner scanner = new Scanner(System.in);
//对商品对象进行操作
System.out.println("输入 1 添加商品到购物车 , 输入 2 减少购物车商品 ,输入 3 查看当前订单信息" +
"输入 4 结账");
int chosemark = scanner.nextInt();
UserPursh userPursh;
switch (chosemark){
case 1:
userPursh = new Addproduct();
userPursh.userdoing();
break;
case 2:
userPursh = new Subproduct();
userPursh.userdoing();
break;
case 3:
userPursh = new LocalOrder();
userPursh.userdoing();
break;
case 4:
userexit();
break;
default:
break;
}
} while (userflag);
}
}
void userexit(){
managelistchange();
int totalcost = 0;
useriter = userlist.iterator();
while (useriter.hasNext()){
UserOrder localuserorder = useriter.next();
totalcost = totalcost +localuserorder.Price*localuserorder.Num;
}
System.out.println("共花费了"+totalcost+"元");
System.out.println("退出平台");
userlist.clear();
userflag = false;
}
//userorder end has changed the state of business
void managelistchange(){
productiter = productlist.iterator();
useriter = userlist.iterator();
while (productiter.hasNext()){
while (useriter.hasNext()){
UserOrder localuserorder = useriter.next();
Product localproduct = productiter.next();
//use userorder num sub managelist num
if (localuserorder.Productname.equals(localproduct.Productname)){
localproduct.Num = localproduct.Num - localuserorder.Num;
}
if (productlist.get(localproduct.Id).Num < 0)
productlist.remove(localproduct.Id);
}
}
}
interface UserPursh{
void userdoing();
}
class Addproduct implements UserPursh{
public void userdoing(){
Scanner scanner = new Scanner(System.in);
System.out.println("输入要添加进购物车的商品编号");
int localid = scanner.nextInt();
System.out.println("输入增加数量");
int localnum = scanner.nextInt();
//jugeue input num
if (localnum > productlist.get(localid).Num) {
System.out.println("超出最大数量,请重新输入");
}else{
userlist.add(new UserOrder(userlist.size(),productlist.get(localid).Productname,
productlist.get(localid).Price,localnum));
System.out.println("添加成功!");
}
}
}
class LocalOrder implements UserPursh{
public void userdoing(){
System.out.println("当前订单为:");
useriter = userlist.iterator();
while (useriter.hasNext()){
UserOrder localuserorder = useriter.next();
System.out.println("商品编号为"+localuserorder.Id+", 商品名称为"+localuserorder.Productname+
", 商品价格为"+localuserorder.Price+" 商品数量为"+localuserorder.Num);
}
}
}
class Subproduct implements UserPursh{
public void userdoing(){
System.out.println("当前订单为:");
useriter = userlist.iterator();
while (useriter.hasNext()){
UserOrder localuserorder = useriter.next();
System.out.println("商品编号为"+localuserorder.Id+", 商品名称为"+localuserorder.Productname+
", 商品价格为"+localuserorder.Price+" 商品数量为"+localuserorder.Num);
}
Scanner scanner = new Scanner(System.in);
System.out.println("输入商品编号进行操作");
int localid = scanner.nextInt();
System.out.println("要删除的数量");
int localnum = scanner.nextInt();
userlist.set(localid,new UserOrder(localid,userlist.get(localid).Productname,
userlist.get(localid).Price,userlist.get(localid).Num-localnum));
if (userlist.get(localid).Num < 0)
userlist.remove(localid);
System.out.println("操作成功!");
}
}
}
class BeginLogin{
BeginLogin(){
Orderplatform orderplatform;
System.out.println("请输入店铺名");
Scanner scanner = new Scanner(System.in);
String username = scanner.nextLine();
orderplatform = new Orderplatform(username);
}
}
public class OrderManger{
public static void main(String[] args) {
BeginLogin beginLogin = new BeginLogin();
}
}
实现方法:
定义商家平台类,用户平台类,商家平台类通过调用接口类进入用户平台类,定义商家表和用户表泛型
进行存储信息,并在两个平台类下对实现方法进行抽象,实现,调用
版权声明:本文为qq_43406185原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。