设计电商类,其中包含商品类,商品类属性(名称、价格、介绍、厂家、生产地址),继承类有食品类、电气类、服装类、玩具类。
食品类属性:有效时长、重量
电气类属性:电压、功率、重量
服装类属性:材质、面料、成分
玩具类属性:材质、分类、适用年龄
要求:
1、设计商品类,封装商品信息
2、设计继承类,继承商品类,封装继承商品信息
3、设计商城,商城中有一个各类商品的集合,客户可以看到所有商品,也可以根据不同继承类查询商品每类商品不少以五种
4、查询商城中价格超过100元的商品
5、查询生产地是“北京”的商品
6、根据商品价格给商城排序,价格从高到低
7、设计购物车,购物车包括商品名称和商品数量,
8、输入商品名称,显示商品信息,输入数量,加入购物车,完成添加后,输入“结账”,计算所有商品价格。
9、设计抽奖功能,查询所有商品,生成随机数,随机数范围0到商品集合长度,生成随机数后,通过下标获取商品,显示商品信息
package LateSeleStudy;
/**
* @author ShanHai:
* @version 创建时间:2021年8月17日 下午6:47:30
*/
// 商品类
public class Commodity implements Comparable<Commodity> {
private String name;// 商品名称
private double price;// 商品价格
private String referral;// 商品介绍
private String vender;// 厂家
private String address;// 厂家地址
// 有参构造
public Commodity(String name, double price, String referral, String vender, String address) {
super();
this.name = name;
this.price = price;
this.referral = referral;
this.vender = vender;
this.address = address;
}
// get set 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getReferral() {
return referral;
}
public void setReferral(String referral) {
this.referral = referral;
}
public String getVender() {
return vender;
}
public void setVender(String vender) {
this.vender = vender;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Commodity [name=" + name + ", price=" + price + ", referral=" + referral + ", vender=" + vender
+ ", address=" + address + "]";
}
@Override
public int compareTo(Commodity o) {
if (this.price > o.price) {
return -1;
} else if (this.price < o.price) {
return 1;
} else {
return 0;
}
}
}
package LateSeleStudy;
/**
*@author ShanHai:
*@version 创建时间:2021年8月17日 下午6:54:00
*/
//服装类
public class Dress extends Commodity{
private String dmaterial;//材质
private String fabric;//面料
private String element;//成分
public Dress(String name, double price, String referral, String vender, String address, String dmaterial,
String fabric, String element) {
super(name, price, referral, vender, address);
this.dmaterial = dmaterial;
this.fabric = fabric;
this.element = element;
}
public String getDmaterial() {
return dmaterial;
}
public void setDmaterial(String dmaterial) {
this.dmaterial = dmaterial;
}
public String getFabric() {
return fabric;
}
public void setFabric(String fabric) {
this.fabric = fabric;
}
public String getElement() {
return element;
}
public void setElement(String element) {
this.element = element;
}
@Override
public String toString() {
return "Dress [name=" + super.getName() + ",price=" + super.getPrice() + ",getReferral=" + super.getReferral()
+ ",vender" + super.getVender() + ",address" + super.getAddress() + ",dmaterial=" + dmaterial
+ ", fabric=" + fabric + ",element" + element + "]";
}
}
package LateSeleStudy;
/**
* @author ShanHai:
* @version 创建时间:2021年8月17日 下午6:53:43
*/
// 电气类
public class Electric extends Commodity {
private double tension;// 电压
private double power;// 功率
private double eweight;// 重量
public Electric(String name, double price, String referral, String vender, String address, double tension,
double power, double eweight) {
super(name, price, referral, vender, address);
this.tension = tension;
this.power = power;
this.eweight = eweight;
}
public double getTension() {
return tension;
}
public void setTension(double tension) {
this.tension = tension;
}
public double getPower() {
return power;
}
public void setPower(double power) {
this.power = power;
}
public double getEweight() {
return eweight;
}
public void setEweight(double eweight) {
this.eweight = eweight;
}
@Override
public String toString() {
return "Electric [name=" + super.getName() + ",price=" + super.getPrice() + ",getReferral="
+ super.getReferral() + ",vender" + super.getVender() + ",address" + super.getAddress() + ",tension="
+ tension + ", power=" + power + ",eweight" + eweight + "]";
}
}
package LateSeleStudy;
import user.User;
/**
* @author ShanHai:
* @version 创建时间:2021年8月17日 下午6:53:19
*/
// 食品类
public class Food extends Commodity {
private String time;// 有效时长
private double fweight;// 重量
public Food(String name, double price, String referral, String vender, String address, String time,
double fweight) {
super(name, price, referral, vender, address);
this.time = time;
this.fweight = fweight;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public double getFweight() {
return fweight;
}
public void setFweight(String weight) {
this.fweight = fweight;
}
@Override
public String toString() {
return "Food [name=" + super.getName() + ",price=" + super.getPrice() + ",getReferral=" + super.getReferral()
+ ",vender" + super.getVender() + ",address" + super.getAddress() + ",time=" + time + ", fweight="
+ fweight + "]";
}
}
package LateSeleStudy;
/**
* @author ShanHai:
* @version 创建时间:2021年8月17日 下午6:54:16
*/
// 玩具类
public class Toy extends Commodity {
private String tmaterial;// 材质
private String sort;// 分类
private String age;// 适用年龄
public Toy(String name, double price, String referral, String vender, String address, String tmaterial, String sort,
String age) {
super(name, price, referral, vender, address);
this.tmaterial = tmaterial;
this.sort = sort;
this.age = age;
}
public String getTmaterial() {
return tmaterial;
}
public void setTmaterial(String tmaterial) {
this.tmaterial = tmaterial;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "Toy [name=" + super.getName() + ",price=" + super.getPrice() + ",getReferral=" + super.getReferral()
+ ",vender" + super.getVender() + ",address" + super.getAddress() + ",tmaterial=" + tmaterial
+ ", sort=" + sort + ",age" + age + "]";
}
}
package LateSeleStudy;
/**
*@author ShanHai:
*@version 创建时间:2021年8月18日 上午9:20:59
*/
public class Goods {
public Commodity goods;
public int count;
}
package LateSeleStudy;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
/**
* @author ShanHai:
* @version 创建时间:2021年8月17日 下午7:05:09
*/
public class Mall {
// 商品名称//商品价格//商品介绍//厂家//厂家地址
public static void main(String[] args) {
// 有效时长//重量
Commodity s1 = new Food("面包", 2, "很好吃的面包", "达利园", "北京", "半年", 5);
Commodity s2 = new Food("牛奶", 5, "老母牛产的奶", "伊利", "上海", "两天", 50);
Commodity s3 = new Food("巧克力", 5, "非常顶饿的巧克力", "奥利奥", "南京", "三个月", 5);
Commodity s4 = new Food("香烟", 20, "不伤身体的香烟", "美猴", "陕西", "五年", 50);
Commodity s5 = new Food("酒", 200, "没有度数的美酒", "西凤", "西安", "十年", 60);
// 电压//功率//重量
Commodity d1 = new Electric("电视机", 5000, "24k高清电视", "长虹", "北京", 220, 2150, 5000);
Commodity d2 = new Electric("电脑", 8000, "游戏本拯救者电脑", "联想", "北京", 300, 2150, 5000);
Commodity d3 = new Electric("手机", 3000, "智能手机iQOO8", "vivo", "渭南", 220, 2150, 500);
Commodity d4 = new Electric("摩托车", 50000, "125号摩托车", "雅马哈", "澄城", 500, 2150, 100);
Commodity d5 = new Electric("小轿车", 500000, "奥迪牌轿车,嗖嗖的", "奥迪", "日本", 3000, 2150, 5000);
// 材质//面料//成分
Commodity f1 = new Dress("裤子", 200, "大长裤子", "奔驰", "北京", "尼龙", "布", "线条");
Commodity f2 = new Dress("鞋子", 2000, "好耐克", "耐克", "上海", "尼龙", "真皮", "牛肉");
Commodity f3 = new Dress("衣服", 500, "大棉袄子", "宝马", "天津", "尼龙", "刚", "线条");
Commodity f4 = new Dress("袜子", 20, "小船袜子", "冰露", "南京", "尼龙", "铁", "细线条");
Commodity f5 = new Dress("短裤", 100, "小短裤子", "泉阳泉", "日本", "塑料", "布", "线条");
// 材质//分类//适用年龄
Commodity w1 = new Toy("奥特曼", 100, "打怪兽的奥特曼", "日本动漫", "日本", "塑料", "1类", "5-18");
Commodity w2 = new Toy("怪兽", 10, "被奥特曼打的怪兽", "日本动漫", "日本", "铁", "2类", "5-18");
Commodity w3 = new Toy("天线宝宝", 60, "有意思的天线宝宝", "美国动漫", "南京", "线条", "类", "5-18");
Commodity w4 = new Toy("小魔仙", 20, "巴啦啦小魔仙", "叙利亚动漫", "北京话", "泥土", "4类", "5-18");
Commodity w5 = new Toy("图图", 50, "大耳朵图图", "中国动漫", "中国", "人肉", "5类", "5-18");
ArrayList<Commodity> a = new ArrayList<Commodity>();
a.add(s1);
a.add(s2);
a.add(s3);
a.add(s4);
a.add(s5);
a.add(d1);
a.add(d2);
a.add(d3);
a.add(d4);
a.add(d5);
a.add(f1);
a.add(f2);
a.add(f3);
a.add(f4);
a.add(f5);
a.add(w1);
a.add(w2);
a.add(w3);
a.add(w4);
a.add(w5);
System.out.println("************这是所有产品**************");
for (Commodity b : a) {
System.out.println(b);
}
Scanner sc = new Scanner(System.in);
System.out.println("************这是你要查询的商品*************");
System.out.print("请输入你要查询的商品类:");
String shu = sc.next();
if ("食品".equals(shu)) {
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
System.out.println(s4);
System.out.println(s5);
} else if ("电气".equals(shu)) {
System.out.println(d1);
System.out.println(d2);
System.out.println(d3);
System.out.println(d4);
System.out.println(d5);
} else if ("服装".equals(shu)) {
System.out.println(f1);
System.out.println(f2);
System.out.println(f3);
System.out.println(f4);
System.out.println(f5);
} else if ("玩具".equals(shu)) {
System.out.println(d1);
System.out.println(d2);
System.out.println(d3);
System.out.println(d4);
System.out.println(d5);
} else {
System.out.println("请输入正确的类别");
}
System.out.println("************这是价格大于100的产品**************");
ArrayList<String> daYu = new ArrayList<String>();
for (int i = 0; i < a.size(); i++) {
if (a.get(i).getPrice() > 100) {
System.out.println(a.get(i));
}
}
System.out.println("************这是产地是“北京”的产品**************");
for (int i = 0; i < a.size(); i++) {
if ("北京".equals(a.get(i).getAddress())) {
System.out.println(a.get(i));
}
}
System.out.println("************************");
System.out.println("************************");
System.out.println("***********排序后的商品***********");
System.out.println("************************");
System.out.println("************************");
Collections.sort(a);
for (Commodity c : a) {
System.out.println(c);
}
System.out.println("*********开始购物*********");
double money =0.0;
double z=0.0;
while (1 == 1) {
System.out.print("请输入你要购买的商品名称:");
String d = sc.next();
List<Goods> gws = new ArrayList<Goods>();
Goods gw = new Goods();
for (int i = 0; i < a.size(); i++) {
if (d.equals(a.get(i).getName())) {
System.out.println(a.get(i));
System.out.print("请输入你要购买的数量:");
int e = sc.nextInt();
gw.goods = a.get(i);
gw.count = e;
gws.add(gw);
}
}
if ("结账".equals(d)) {
break;
}
for(int i = 0; i < gws.size(); i++){
System.out.println("购买商品是:"+gws.get(i).goods.getName()+"价格是"+gws.get(i).goods.getPrice()+"购买了"+gws.get(i).count+"个");
money=gws.get(i).goods.getPrice()*gws.get(i).count;
}
z +=money;
}
System.out.println("商品总价格是"+z+"元");
System.out.println("**********抽奖工能************");
System.out.print("请输入您要抽取的随机数:");
int j = sc.nextInt();
Random h = new Random();
for (int i = 0; i < a.size(); i++) {
int num = h.nextInt(a.size());
if (j == num) {
System.out.println("恭喜您,您抽中的商品信息为" + a.get(i));
}
}
}
}
版权声明:本文为qq_44787933原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。