Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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中存储对象的ArrayList是';我添加对象时不工作_Java_Oop_Arraylist - Fatal编程技术网

用于在Java中存储对象的ArrayList是';我添加对象时不工作

用于在Java中存储对象的ArrayList是';我添加对象时不工作,java,oop,arraylist,Java,Oop,Arraylist,我正在解决一个来自演习的演习:货舱。我应该将一个类的对象存储到另一个类的ArrayList,但每当我使用this.suitcases.add(行李箱)方法时,它在打印对象时从不添加对象。我怎样才能解决这个问题?任何帮助都将不胜感激。谢谢 程序的输出应如下所示: 2个手提箱(7公斤) 我的输出: 0个手提箱(0公斤) 我并没有仅仅根据你的代码来阅读练习题,你的问题在于你在等待中的状态,特别是在AddCasts中 public void addSuitcase(Suitcase suitcase){

我正在解决一个来自演习的演习:货舱。我应该将一个类的对象存储到另一个类的
ArrayList
,但每当我使用
this.suitcases.add(行李箱)
方法时,它在打印对象时从不添加对象。我怎样才能解决这个问题?任何帮助都将不胜感激。谢谢

程序的输出应如下所示:

2个手提箱(7公斤)

我的输出:

0个手提箱(0公斤)


我并没有仅仅根据你的代码来阅读练习题,你的问题在于你在等待中的状态,特别是在AddCasts中

public void addSuitcase(Suitcase suitcase){
if(suitcase.totalWeight() + minWeight >= maxWeight){
    minWeight = minWeight + suitcase.totalWeight();
    this.suitcases.add(suitcase);
}
}

应该是

public void addSuitcase(Suitcase suitcase){
if(suitcase.totalWeight() + minWeight <= maxWeight){
    minWeight = minWeight + suitcase.totalWeight();
    this.suitcases.add(suitcase);
}
公共行李箱(行李箱){

如果(手提箱。总重量()+最小重量)我很确定
手提箱。总重量()+最小重量>=maxWeight
应该是
手提箱。总重量()+最小重量,所以它只是一个打字错误:/我已经盯着它看了这么久了。。谢谢你总是很好,理解问题,然后回答。
public class Item {

    private String name;
    private int weight;
    
    public Item(String name, int weight){
        this.name = name;
        this.weight = weight;
    }
    
    public String getName(){
        return this.name;
    }
    
    public int getWeight(){
        return this.weight;
    }
    
    public String toString(){
        return this.name + " (" + this.weight + " kg)";
    }
}
public class Main {

    public static void main(String[] args) {
        // You can use the main to test your classes!
        Item book = new Item("Lord of the rings", 2);
        Item phone = new Item("Nokia 3210", 1);
        Item brick = new Item("brick", 4);

        Suitcase adasCase = new Suitcase(10);
        adasCase.addItem(book);
        adasCase.addItem(phone);

        Suitcase pekkasCase = new Suitcase(10);
        pekkasCase.addItem(brick);

        Hold hold = new Hold(1000);
        hold.addSuitcase(adasCase);
        hold.addSuitcase(pekkasCase);

        System.out.println(hold);
    }

}
public void addSuitcase(Suitcase suitcase){
if(suitcase.totalWeight() + minWeight >= maxWeight){
    minWeight = minWeight + suitcase.totalWeight();
    this.suitcases.add(suitcase);
}
public void addSuitcase(Suitcase suitcase){
if(suitcase.totalWeight() + minWeight <= maxWeight){
    minWeight = minWeight + suitcase.totalWeight();
    this.suitcases.add(suitcase);
}