2021-08-18集合框架综合性习题(设计电商类)

设计电商类,其中包含商品类,商品类属性(名称、价格、介绍、厂家、生产地址),继承类有食品类、电气类、服装类、玩具类。
食品类属性:有效时长、重量
电气类属性:电压、功率、重量
服装类属性:材质、面料、成分
玩具类属性:材质、分类、适用年龄

要求:
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版权协议,转载请附上原文出处链接和本声明。