emp boolean getcount pub return urn arp str !=
java:练习超市卖场
涉及到:大商品类,具体商品(以书为例),卖场类
Goods,Book,superMart,
商品类Goods:
- public interface Goods {
- //商品类
- public String getName();
- public int getCount();
- public float getPrice();
- }
书:
注意:复写hashCode,和equals是为了实现删除按钮
- package abc;
- public class Book implements Goods {
- private String name;
- private int count;
- private float price;
- public String getName() {
- return name;
- }
- public Book() {
- super();
- }
- public Book(String name, int count, float price) {
- super();
- this.name = name;
- this.count = count;
- this.price = price;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getCount() {
- return count;
- }
- public void setCount(int count) {
- this.count = count;
- }
- public float getPrice() {
- return price;
- }
- public void setPrice(float price) {
- this.price = price;
- }
- //复写hashCode,和equals是为了实现删除按钮
- @Override
- public int hashCode() {
- return this.name.hashCode() +
- new Integer(this.count).hashCode() +
- new Float(this.price).hashCode();
- }
- //复写hashCode,和equals是为了实现删除按钮
- @Override
- public boolean equals(Object obj) {
- if(obj == this)
- {
- return true;
- }
- if(!(obj instanceof Book))
- {
- return false;
- }
- Book b = (Book) obj;
- if( b.name.equals(this.name) && b.count == this.count && b.price == this.price)
- {
- return true;
- }else {
- return false;
- }
- }
- @Override
- public String toString() {
- return "书名:" + name + ", 数量:" + count + ", 价格:" + price ;
- }
- }
超级市场:
需要注意remove删除方法,必须在BOOK中定义相关的equals,hashCode方法才能删除
- //删除,需要复写book里面的equals和hasCode
- remove(Goods good)
- package abc;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- public class SuperMark {
- private List<Goods> allGoods;
- public SuperMark()
- {
- this.allGoods = new ArrayList<Goods>();
- }
- public void add(Goods good)
- {
- this.allGoods.add(good);
- }
- //删除,需要复写book里面的equals和hasCode
- public void remove(Goods good)
- {
- this.allGoods.remove(good);
- }
- public List<Goods> search(String keyword)
- {
- List<Goods> temp = new ArrayList<Goods>();
- Iterator<Goods> iter = this.allGoods.iterator();
- while(iter.hasNext())
- {
- Goods g = iter.next();
- if(g.getName().indexOf(keyword) != -1)
- {
- temp.add(g);
- }
- }
- return temp;
- }
- public List<Goods> getAllGoods()
- {
- return this.allGoods;
- }
- }
测试:
- public class Demo {
- public static void main(String[] args) {
- // TODO 自动生成的方法存根
- System.out.println("gaga");
- SuperMark sm = new SuperMark();
- sm.add(new Book("java",5,10.4f));
- sm.add(new Book("net",6,22.f));
- sm.add(new Book("php",6,10f));
- print(sm.search("j"));
- }
- public static void print(List all)
- {
- Iterator iter = all.iterator();
- while(iter.hasNext())
- {
- System.out.println(iter.next());
- }
- }
- }
java:练习超市卖场
来源: http://www.bubuko.com/infodetail-2353191.html