shop类
public class Shop {
private int sid;
private String sname;
private String type;
private double price;
private int num;
private String dizhi;
private String danwei;
public Shop(int sid, String sname, String type, double price, int num, String dizhi, String danwei) {
super();
this.sid = sid;
this.sname = sname;
this.type = type;
this.price = price;
this.num = num;
this.dizhi = dizhi;
this.danwei = danwei;
}
public int getId() {
return sid;
}
public void setId(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getDizhi() {
return dizhi;
}
public void setDizhi(String dizhi) {
this.dizhi = dizhi;
}
public String getDanwei() {
return danwei;
}
public void setDanwei(String danwei) {
this.danwei = danwei;
}
shopClient类
public class ShopClient {
private ShopManager sm=new ShopManager();
UserManager um=new UserManager();
private Scanner sc;
/**定义msg方法*/
private void msg(Object obj){
System.out.println(obj);
}
private void firstmenu(){
msg("=============");
msg("====【1】登陆===============");
msg("====【2】修改密码");
msg("====【0】退出登陆");
msg("请输入指令");
first();
}
private void first() {
sc = new Scanner(System.in);
int i = sc.nextInt();
switch(i){
case 1:
userLogin();
break;
case 2:
userUpdatePassword();
break;
case 0:
exit();
break;
default:
msg("请输入正确的操作指令!!!");
break;
}
firstmenu();
}
private void userUpdatePassword() {
sc=new Scanner(System.in);
msg("请输入用户名");
String username=sc.nextLine();
msg("请输入修改后的密码");
String password=sc.nextLine();
boolean s=um.updatePassword(username, password);
if(s==true){
msg("密码修改成功");
firstmenu();
}else{
msg("账号不存在");
firstmenu();
}
}
private void userLogin() {
sc=new Scanner(System.in);
msg("请输入用户名");
String username=sc.nextLine();
msg("请输入密码");
String password=sc.nextLine();
boolean s=um.login(username,password);
if(s==true){
msg("登陆成功");
menu();
}else{
msg("账号或密码错误,请重新输入");
firstmenu();
}
}
private void menu(){
msg("=========================");
msg("====电商系统=========");
msg("====【1】商品添加========");
msg("====【2】商品列表========");
msg("====【3】查询指定id的商品========");
msg("====【4】根据商品id删除商品========");
msg("====【5】根据id修改指定商品的价格========");
msg("====【6】根据id修改指定商品的库存========");
msg("====【7】根据商品类别查询所有商品========");
msg("====【8】查询指定价格区间的商品信息========");
msg("====【0】退出电商系统========");
msg("请输入操作指令");
start();
}
private void start() {
sc = new Scanner(System.in);
int i = sc.nextInt();
switch(i){
case 1:
add();
break;
case 2:
list();
break;
case 3:
queryById();
break;
case 4:
deleteById();
break;
case 5:
updatePriceById();
break;
case 6:
updateNumById();
break;
case 7:
selectByType();
break;
case 8:
selectByPrices();
break;
case 0:
exit();
break;
default:
msg("请输入正确的操作指令!!!");
break;
}
menu();
}
/**系统退出*/
private void exit() {
sc = new Scanner(System.in);
msg("是否确定退出?(Y/N)");
String op = sc.next();
if(op.equalsIgnoreCase("y")){
msg("谢谢使用,再见!");
firstmenu();
// System.exit(1);
}
}
/**查询指定价格区间的商品信息*/
private void selectByPrices() {
sc = new Scanner(System.in);
msg("请输入一个价格");
double price1 = sc.nextDouble();
msg("请输入另一个价格");
double price2=sc.nextDouble();
boolean shop=sm.selectByPrice(price1, price2);
}
/**根据商品类别查询所有商品*/
private void selectByType() {
sc = new Scanner(System.in);
msg("请输入商品的类别");
String type = sc.nextLine();
ArrayList<Shop> list = sm.findByType(type);
msg("商品id/商品名/类型名/单价/库存/产地/计量单位");
if(list.size()>0){
for (Shop s : list) {
msg(s);
}
}
}
/**根据商品id修改指定商品的库存*/
private void updateNumById() {
sc = new Scanner(System.in);
msg("请输入商品的id");
int sid = sc.nextInt();
msg("请输入商品的库存");
int num=sc.nextInt();
Shop shop=sm.findBySid(sid);
if(shop==null){
msg("该商品id不存在");
updateNumById();
return;
}
sm.updateNumBySid(sid, num);
msg("该商品库存修改成功!");
}
/**根据id修改指定商品的价格*/
private void updatePriceById() {
sc = new Scanner(System.in);
msg("请输入商品的id");
int sid = sc.nextInt();
msg("请输入商品的价格");
int price=sc.nextInt();
Shop shop=sm.findBySid(sid);
if(shop==null){
msg("该商品id不存在");
updatePriceById();
return;
}
sm.updatePriceBySid(sid, price);
msg("该商品价格修改成功!");
}
/**根据商品id删除商品*/
private void deleteById() {
msg("请输入需要删除商品的id");
sc = new Scanner(System.in);
int sid = sc.nextInt();
Shop shop=sm.findBySid(sid);
if(shop==null){
msg("该商品id不存在");
deleteById();
return;
}
sm.deleteBySid(sid);
msg("该商品删除成功!");
}
/**查询指定id的商品*/
private void queryById() {
msg("请输入需要查询商品的id");
sc = new Scanner(System.in);
int sid = sc.nextInt();
Shop shop=sm.findBySid(sid);
if(shop==null){
msg("该商品id不存在");
queryById();
return;
}
msg("商品id/商品名/类型名/单价/库存/产地/计量单位");
msg(shop);
}
/**商品列表*/
private void list() {
msg("商品id/商品名/类型名/单价/库存/产地/计量单位");
for(Shop s:sm.findAll()){
msg(s);
}
}
/**商品添加*/
private void add() {
msg("请输入员工信息(按以下格式:商品id/商品名/类型名/单价/库存/产地/计量单位)");
sc = new Scanner(System.in);
String s = sc.nextLine();
//根据“/”截取员工信息
String[] info = s.split("/");
if(sm.findBySid(Integer.parseInt(info[0])) != null){
msg("该编号的员工已存在,请重新输入");
add();
return;
}else{
Shop shop = new Shop(Integer.parseInt(info[0]),
info[1],
info[2],
Double.parseDouble(info[3]),
Integer.parseInt(info[4]),
info[5],
info[6]);
sm.addShop(shop);
msg("添加成功");
}
}
public static void main(String[] args) {
new ShopClient().firstmenu();
}
}
shopManager类
public class ShopManager {
static ArrayList<Shop> list=new ArrayList<>();
/**添加商品*/
public void addShop(Shop s){
list.add(s);
}
/**商品列表*/
public ArrayList<Shop> findAll(){
return list;
}
/**根据商品id查询商品信息*/
public Shop findBySid(int sid){
Shop shop = null;
for(Shop s:list){
//判断是否找到匹配id的商品
if(s.getId()== sid){
shop = s;
break;
}
}
return shop;
}
/**根据商品id删除商品*/
public boolean deleteBySid(int sid){
Shop shop=findBySid(sid);
if(shop!=null){
return list.remove(shop);
}
return false;
}
/**根据商品id修改指定商品的价格*/
public boolean updatePriceBySid(int sid,double price){
Shop shop=findBySid(sid);
if(shop!=null){
shop.setPrice(price);
return true;
}
return false;
}
/**根据商品id修改指定商品的库存*/
public boolean updateNumBySid(int sid, int num){
Shop shop=findBySid(sid);
if(shop!=null){
shop.setPrice(num);
return true;
}
return false;
}
/**根据商品类型查询所有商品*/
public ArrayList<Shop> findByType(String Type){
ArrayList<Shop> shops = new ArrayList<>();
for(Shop s:list){
//查询集合中是否存在商品的类型名跟参数类型名一致
if(s.equals(s.getType())){
shops.add(s);
}
}
return shops;
}
/**查询指定价格区间的商品信息*/
public boolean selectByPrice(double price1,double price2){
double pricemax;
double pricemin;
if(price1>=price2){
pricemax=price1;
pricemin=price2;
}else{
pricemax=price2;
pricemin=price1;
}
for(Shop s:list){
if(pricemax>s.getPrice()&&pricemin<s.getPrice()){
System.out.println(s);
return true;
}
}
return false;
}
}
user类
public class User {
private String username;
private String password;
public User(String username, String password) {
super();
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;
}
UserManager类
public class UserManager {
static ArrayList<User> list = new ArrayList<>();
public UserManager(){
list.add(new User("admin", "admin"));
}
/**注册*/
public boolean register(User user){
return list.add(user);
}
/**登录*/
public boolean login(String username,String password){
User user=new User(username, password);
for(User u:list){
if(u.getUsername().equals(user.getUsername())){
if(u.getPassword().equals(user.getPassword()))
return true;
}
}
return false;
}
/**修改密码*/
public boolean updatePassword(String username,String password){
User user=new User(username, password);
for(User u:list){
if(u.getUsername().equals(user.getUsername())){
u.setPassword(password);
return true;
}
}
return false;
}
}
来源:https://blog.csdn.net/qq_41588785/article/details/100055875