java的基础知识运用,一个简单的电商管理系统
程序员文章站
2022-03-07 09:34:31
...
项目简介
完成一个电商系统的商品模块功能,商品类包含以下属性:商品ID,商品名,类别名,单价,库存量,产地,计量单位等信息,要求实现商品管理功能以及管理员登录功能,具体如下:
- 管理员登录(账号密码固定(123456/123456)
- 修改管理员密码
- 商品添加
- 商品列表
- 查询指定id的商品
- 根据商品id删除商品
- 根据id修改指定商品的价格
- 根据id修改指定商品的库存
- 根据商品类别查询所有商品
- 查询指定价格区间的商品信息
思路
这个项目我创建了五个类来完成。分别为商品类,商品管理类,管理员类,点击类与测试类。
商品类用于初始化商品的属性。
商品管理类用于实现项目的功能
管理类,我初始了管理员的账号和密码
界面类主要用于制作基于控制台的项目界面
测试类放入主函数,用于测试本项目
商品类(Goods)
public class Goods {
private int id;
private String name;
private String kind;
private double price;
private int kucunliang;
private String birthplace;
private String jiliangdanwei;
@Override
public String toString() {
return "Goods [id=" + id + ", name=" + name + ", kind=" + kind + ", price=" + price + ", kucunliang="
+ kucunliang + ", birthplace=" + birthplace + ", jiliangdanwei=" + jiliangdanwei + "]";
}
public Goods(int id, String name, String kind, double price, int kucunliang, String birthplace,
String jiliangdanwei) {
super();
this.id = id;
this.name = name;
this.kind = kind;
this.price = price;
this.kucunliang = kucunliang;
this.birthplace = birthplace;
this.jiliangdanwei = jiliangdanwei;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getKind() {
return kind;
}
public void setKind(String kind) {
this.kind = kind;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getKucunliang() {
return kucunliang;
}
public void setKucunliang(int kucunliang) {
this.kucunliang = kucunliang;
}
public String getBirthplace() {
return birthplace;
}
public void setBirthplace(String birthplace) {
this.birthplace = birthplace;
}
public String getJiliangdanwei() {
return jiliangdanwei;
}
public void setJiliangdanwei(String jiliangdanwei) {
this.jiliangdanwei = jiliangdanwei;
}
}
商品管理类(GoodsManage)
import java.util.ArrayList;
public class GoodsManage {
static ArrayList<Goods> list = new ArrayList<>();
public void add(Goods g) {
list.add(g);
}
public void show() {
for (Goods g : list) {
System.out.println(g.toString());
}
}
public boolean showid(int id){
for(Goods u:list){
if(u.getId()==id){
System.out.println(u.toString());
return true;
}
}
return false;
}
public void delete(int id) {
for (Goods u : list) {
if (u != null && u.getId() == id) {
System.out.println(u.getName() + "已删除!!!");
list.remove(u);
}
}
System.out.println(id + "号商品不存在");
}
public void xiuGaiJiage(int id, double price) {
for (Goods u : list) {
if (u != null && u.getId() == id) {
System.out.println(id + "号商品的价格由" + u.getPrice() + "修改为" + price);
u.setPrice(price);
}
}
System.out.println(id + "号商品不存在");
}
public void xiuGaiKuCun(int id, int kucun) {
for (Goods u : list) {
if (u != null && u.getId() == id) {
System.out.println(id + "号商品的库存量由" + u.getPrice() + "修改为" + kucun);
u.setKucunliang(kucun);
}
}
System.out.println(id + "号商品不存在");
}
public void showKind(String kind) {
for (Goods u : list) {
if (u != null && u.getKind() == kind) {
System.out.println(u.toString());
}
System.out.println(kind + "类商品不存在");
}
}
public void showPrice(double price01, double price02) {
if (price01 > price02) {
double temp;
temp = price01;
price01 = price02;
price02 = temp;
}
for (Goods u : list) {
if (u != null && u.getPrice() >= price01 && u.getPrice() <= price02) {
System.out.println(u.toString());
}
}
System.out.println("此区间内商品不存在");
}
}
管理员类(Admin)
public class Admin {
private int zhanghao=123456;
private int password=123456;
public boolean init(int a,int b){
if(zhanghao==a&&password==b){
System.out.println("登录成功");
return true;
}
return false;
}
public void xiuGaiMiMa(int a){
password=a;
}
public int getZhanghao() {
return zhanghao;
}
public void setZhanghao(int zhanghao) {
this.zhanghao = zhanghao;
}
public int getPassword() {
return password;
}
public void setPassword(int password) {
this.password = password;
}
}
界面类(Client)
import java.util.ArrayList;
import java.util.Scanner;
public class Client {
private Scanner sc;
private GoodsManage gd = new GoodsManage();
private Admin a = new Admin();
static ArrayList<Goods> list = new ArrayList<>();
public void dengLu() {
msg("====【1】管理员登录================");
msg("请按一下格式输入:账号/密码");
sc = new Scanner(System.in);
String s = sc.nextLine();
String[] info = s.split("/");
if (a.init(Integer.parseInt(info[0]), Integer.parseInt(info[1]))) {
menu();
} else {
msg("账号或密码错误");
dengLu();
}
}
public void menu() {
msg("===================================");
msg("====电商系统=======================");
msg("====【1】修改密码==================");
msg("====【2】商品添加==================");
msg("====【3】商品列表==================");
msg("====【4】查询指定id商品============");
msg("====【5】根据商品id删除商品========");
msg("====【6】根据id修改商品价格========");
msg("====【7】根据id修改指定商品库存====");
msg("====【8】根据商品类别查询所有商品==");
msg("====【9】查询指定价格区间内的商品==");
msg("====【0】退出系统==================");
msg("===================================");
msg("请输入操作指令:");
start();
}
private void start() {
// TODO Auto-generated method stub
sc = new Scanner(System.in);
int a = sc.nextInt();
switch (a) {
case 1:
xiuGaiMiMa();
break;
case 2:
add();
break;
case 3:
gd.show();
break;
case 4:
showId();
break;
case 5:
delete();
break;
case 6:
xiuGaiJiage();
break;
case 7:
xiuGaiKuCun();
break;
case 8:
showKind();
break;
case 9:
showPrice();
break;
case 0:
exit();
break;
default:
msg("请输入正确的操作指令!!!");
break;
}
menu();
}
private void exit() {
// TODO Auto-generated method stub
sc = new Scanner(System.in);
msg("是否确定退出?(Y/N)");
String op = sc.next();
if (op.equalsIgnoreCase("y")) {
msg("谢谢使用,再见!");
System.exit(1);
}
}
private void showPrice() {
// TODO Auto-generated method stub
msg("请按此格式输入:价格1/价格2");
sc = new Scanner(System.in);
String s = sc.nextLine();
String[] info = s.split("/");
gd.showPrice(Double.parseDouble(info[0]), Double.parseDouble(info[1]));
}
private void showKind() {
// TODO Auto-generated method stub
msg("请输入要显示商品的类别");
sc = new Scanner(System.in);
String kind = sc.nextLine();
gd.showKind(kind);
}
private void xiuGaiKuCun() {
// TODO Auto-generated method stub
msg("按一下格式输入:商品id/商品库存");
sc = new Scanner(System.in);
String s = sc.nextLine();
String[] info = s.split("/");
gd.xiuGaiKuCun(Integer.parseInt(info[0]), Integer.parseInt(info[1]));
}
private void xiuGaiJiage() {
// TODO Auto-generated method stub
msg("按一下格式输入:商品id/商品价格");
sc = new Scanner(System.in);
String s = sc.nextLine();
String[] info = s.split("/");
gd.xiuGaiJiage(Integer.parseInt(info[0]), Double.parseDouble(info[1]));
}
private void delete() {
// TODO Auto-generated method stub
sc = new Scanner(System.in);
int id = sc.nextInt();
gd.delete(id);
}
private void showId() {
// TODO Auto-generated method stub
msg("请输入商品所查询的商品id");
sc = new Scanner(System.in);
int id = sc.nextInt();
if (gd.showid(id)) {
} else {
msg(id + "商品不存在");
}
}
private void xiuGaiMiMa() {
// TODO Auto-generated method stub
msg("请输入密码");
sc = new Scanner(System.in);
int mima = sc.nextInt();
a.xiuGaiMiMa(mima);
msg("修改成功,请重新登录");
dengLu();
}
private void add() {
msg("按以下格式输入:商品id/商品名/类别名/单价/库存量/产地/计量单位");
sc = new Scanner(System.in);
String s = sc.nextLine();
String[] info = s.split("/");
if (gd.showid(Integer.parseInt(info[0]))) {
System.out.println("该id商品已存在");
return;
}
gd.add(new Goods(Integer.parseInt(info[0]), info[1], info[2], Double.parseDouble(info[3]),
Integer.parseInt(info[4]), info[5], info[6]));
msg("添加成功");
}
public void msg(Object obj) {
System.out.println(obj);
}
}
测试类(Test)
public class Test {
public static void main(String[] args) {
Client a=new Client();
a.dengLu();
}
}
运行截图
总结
这个项目基本上运用到了大部分java基础的相关知识,要在做项目前必须有一个清晰的思路,脑海里必须要有一根线,把项目拆分成一个一个的小问题,就可以轻松解决了。