一、主类
package com.tlstudio.shopping.map.price;
import java.util.*;
/**
* @类名 购物系统(主类)
* @功能 程序的入口
*/
public class ShopingSystem {
public static void main(String[] args) {
if (login()) {// 登陆
shopping();// 购物
} else {// 登陆失败,退出系统
System.exit(0);
}
}
/**
* @function 购物
*/
public static void shopping() {
Storage storage = new Storage();// 实例化仓库对象
storage.showGoods();// 首次 显示商品信息
ShoppingCart shoppingCart = new ShoppingCart(storage);// 实例化购物车对象,将购物车与仓库对接
while (true) {// 除非选择了退出系统,否则可重复操作里面的功能
shoppingCart.showFunction();// 显示可选功能界面
Scanner scn = new Scanner(System.in);
System.out.print("请输入:");
int function = 0;
try {
function = scn.nextInt();// 获取用户输入的功能(序号)
} catch (InputMismatchException e) {
System.out.println("您的输入不合法,必须是1-7的数字哦");
continue;
}
switch (function) {
case 1:
if (shoppingCart.addGoods()) {// 调用购物车的添加商品到购物车的方法,返回是否成功
System.out.println("商品添加成功");
} else {
System.out.println("商品添加失败!");
}
break;
case 2:
if (shoppingCart.alterGoodsNum()) {// 调用购物车的修改购物车中商品数量的方法,返回是否成功
System.out.println("修改商品数量成功");
} else {
System.out.println("修改商品数量失败");
}
break;
case 3:
if (shoppingCart.removeGoods()) {// 调用购物车的删除购物车中商品的方法,返回是否成功
System.out.println("删除购物车中的商品成功");
} else {
System.out.println("删除购物车中的商品失败");
}
break;
case 4:
shoppingCart.showGoods();// 调用购物车的显示购物车中商品的方法
break;
case 5:
storage.showGoods();// 调用仓库中显示仓库中商品信息的方法
break;
case 6:
shoppingCart.accountAll();// 结账
break;
case 7:
System.out.println("您选择了退出系统,欢迎您下次光临");
System.exit(0);
break;
default:
System.out.println("您的输入有误,没有该功能,请重新选择【序号只有 1-7】");
break;
}
}
}
/**
* @function 用户登录——系统拥有的判断登陆功能
*
* @return 是否登陆成功(true,false)
*/
public static boolean login() {
System.out.println("*****************************************");
System.out.println("*\t\t用户登录\t\t\t*");
System.out.println("*****************************************");
int count = 3;// 有三次输错的机会
String input_userName = "";// 用户输入的用户名
String input_pwd = "";// 用户输入的密码
Scanner scn = new Scanner(System.in);
while (true) {
System.out.print("请输入用户名:");
input_userName = scn.next();// 获取用户输入的用户名
System.out.print("请输入密 码:");
input_pwd = scn.next();// 获取用户输入的密码
Users users = new Users(input_userName, input_pwd);// 声明一个用户类
if (users.checkedUser()) {// 判断用户名和密码是否存在
System.out.println("登陆成功!欢迎您 " + users.getUserName());
return true;
} else {
count--;// 输错一次,可输入次数减一
if (count > 0) {
System.out.println("用户名或密码错误,请重来(您还有次 " + count + " 机会)");
continue;
} else {// 次数用完,冻结账户
System.out.println("三次机会已用完,您的账户已冻结,请与管理员联系!");
return false;
}
}
}
}
}