Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的对象值赢了';我不能保存。显示空值_Java_Object_Inheritance_Arraylist_Null - Fatal编程技术网

Java 我的对象值赢了';我不能保存。显示空值

Java 我的对象值赢了';我不能保存。显示空值,java,object,inheritance,arraylist,null,Java,Object,Inheritance,Arraylist,Null,我有三门课: 运动装(超类) 泽西岛(亚类) 司机 我的车手里有一个ArrayList,用来存放我所有的运动衫。 当用户输入所有值(库存、价格、产品、团队、套件、尺寸、性别)时, 它会将它们显示回来,它会显示空值: Product: null In stock: 0 Price: 0 Team: Kit: Size: Gender: 超类(运动装)具有变量库存、价格和产品(因此我可以包括其他产品,而不仅仅是运动衫) 子类(Jersey)包含变量team、kit、size、gender。它

我有三门课:

  • 运动装(超类)
  • 泽西岛(亚类)
  • 司机
  • 我的车手里有一个ArrayList,用来存放我所有的运动衫。 当用户输入所有值(库存、价格、产品、团队、套件、尺寸、性别)时, 它会将它们显示回来,它会显示空值:

    Product: null
    In stock: 0
    Price: 0
    Team: 
    Kit: 
    Size: 
    Gender:
    
    超类(运动装)具有变量
    库存、价格和产品
    (因此我可以包括其他产品,而不仅仅是运动衫)

    子类(Jersey)包含变量
    team、kit、size、gender
    。它还包含方法
    jerseyDisplay()
    ,用于显示上面的内容

    输入值后,我在驱动程序中输入:

    Jersey jersey = new Sportswear(stock, price, product, team, kit, size, gender);
    
    sportswear.add(jersey);
    
    
    jersey.jerseyDisplay();
    
    这完全错了吗?为什么输入的值没有显示出来

    子类
    Jersey
    中的
    jerseyDisplay()
    方法是:

    public void jerseyDisplay()
        {
            super.sportswearDisplay();
    
            System.out.println("Team: "+team);
    
            System.out.println("Kit: "+kit);
    
            System.out.println("Size: "+size);
    
            System.out.println("Gender: "+gender);
        }
    
    @这是运动装超类:

    public class Sportswear
    {
        //instance variables
        private int stock;
        private float price;
        private String product;
    
        //blank constructor
        public Sportswear()
        {
            this.stock = 0;
            this.price = 0;
            this.product = "";
        }
    
        //detailed constructor
        public Sportswear(int s, float p, String pd)
        {
            this.stock = stock;
            this.price = price;
            this.product = product;
        }
    
        //setters
        public void setStock(int stock)
        {
            this.stock = stock;
        }
    
        public void setPrice(float price)
        {
            this.price = price;
        }
    
        public void setProduct(String product)
        {
            this.product = product;
        }
    
        //getters
        public int getStock()
        {
            return stock;
        }
    
        public float getPrice()
        {
            return price;
        }
    
        public String getProduct()
        {
            return product;
        }
    
        //increase stock
        public int increaseStock()
        {
            stock = stock++;
            return stock;
        }
    
        //decrease stock
        public int decreaseStock()
        {
            stock = stock - 1;
            return stock;
        }
    
        public void sportswearDisplay()
        {
            System.out.println("Product: "+product);
            System.out.println("In stock: "+stock);
            System.out.println("Price: "+stock);
        }
    
    }
    
    Jersey子类中的构造函数:

    public Jersey(int stock, float price, String product, String team, String kit, String size, String gender)
        {
            super(stock, price, product);
            this.team = "";
            this.kit = "";
            this.size = "";
            this.gender = "";
        }
    

    问题在您的两个承包商内:

        //detailed constructor
    public Sportswear(int s, float p, String pd)
    {
        this.stock = stock;
        this.price = price;
        this.product = product;
    }
    

    您应该使用作为参数传递的值初始化变量。。。或者使用您的
    setXXX
    方法。在构造函数中,它应该如下所示:

            //detailed constructor
    public Sportswear(int s, float p, String pd)
    {
        this.stock = s;
        this.price = p;
        this.product = pd;
    }
    
    另外,正如前面提到的,这一行
    Jersey Jersey=新运动装(库存、价格、产品、团队、套件、尺寸、性别)甚至不应该编译。。。你可能指的是新泽西(股票、价格、产品、团队、装备、尺码、性别)

    为什么要生成
    (股票、价格、产品、团队、套件、大小、性别)
    值,也请发布
    jerseyDisplay()
    方法这将有助于显示实际执行显示的代码(jerseyDisplay方法)。请发布用于创建
    sportsware
    的代码以及在数组中循环的代码。否则,几乎不可能告诉你出了什么问题。@Salah我需要为一个运动服装商店的库存软件保存库存、价格、产品、团队、工具包、尺寸、性别的值,用于管理库存和记录购买(作为一个项目,而不是实际的商店哈哈)jerseyDisplay()子类Jersey中的方法是:public void jerseyDisplay(){super.sportswearldisplay();System.out.println(“团队:+Team”);System.out.println(“Kit:+Kit”);System.out.println(“大小:+Size”);System.out.println(“性别:+Gender);}@destrivy我编辑了运动服超类inAwh耶!万分感谢!我的产品在8小时内到期,所以你是救世主。谢谢你,伙计。
            //detailed constructor
    public Sportswear(int s, float p, String pd)
    {
        this.stock = s;
        this.price = p;
        this.product = pd;
    }