加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

数组对象

发布时间:2020-12-15 05:27:27 所属栏目:Java 来源:网络整理
导读:package day_21;import java.util.Objects;public class Product { private String name; private double price; public String getName() { return name; } public double getPrice() { return price; } public Product() { } public Product(String name,d
package day_21;

import java.util.Objects;

public class Product {
    private String name;
    private double price;

    public String getName() {
        return name;
    }

    public double getPrice() {
        return price;
    }

    public Product() {
    }

    public Product(String name,double price) {
        this.name = name;
        this.price = price;
    }

    @Override
    public String toString() {
        return "Product{" +
                "name=‘" + name + ‘‘‘ +
                ",price=" + price +
                ‘}‘;
    }

    @Override     //重写equal hashCode两个方法
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Product product = (Product) o;
        return Double.compare(product.price,price) == 0 &&
                Objects.equals(name,product.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name,price);
    }
}
package day_21;

import java.util.Arrays;

public class ShopCar {
    private int size=0;
    Product []products;     //定义一个数组保存产品

    public ShopCar() {
        products=new Product[5];    //将数组大小定义为5
    }
    public void add(Product product){
        if(size>=products.length){   //如果产品量多于数组大小,将数组扩容
            products= Arrays.copyOf(products,products.length*3/2);
        }
        products[size]=product;
        size++;
    }
    public void delete(Product product){
        for(int j=0;j<size;j++){
            if(products[j].equals(product)){    //寻找需要删除的产品
                products[j]=products[size-1];   //将最后一个产品赋值给需要删除产品对应的下标
                size--;
            }
        }
    }
    public void sum(){
        double sumPrice=0.0;
        for(int i=0;i<size;i++){
            System.out.println("name="+products[i].getName()+"t"+products[i].getPrice());
            sumPrice+=products[i].getPrice();
        }
        System.out.println("sumPrice="+sumPrice);
    }
}
package day_21;
/**
 * 数组对象
 */
public class Test {
    public static void main(String[] args) {
        ShopCar shopCar=new ShopCar();
        shopCar.add(new Product("联想",5000));
        shopCar.add(new Product("戴尔",6000));
        shopCar.add(new Product("华为",9000));
        shopCar.add(new Product("小米",8000));
        shopCar.delete(new Product("戴尔",6000));
        shopCar.sum();
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读