Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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 - Fatal编程技术网

Java 在对象内部推送并弹出堆栈

Java 在对象内部推送并弹出堆栈,java,Java,我正在创建一个项目,该项目拥有一个飞机机队,其规格包括载货能力和重量限制。有需要进入飞机的货物清单。我有货物舱、飞机舱和主要装载机舱。我想让飞机装一堆货物。我觉得我很快就要完成了,但我可能错过了什么。我在将getter和setter与push和pop结合使用时遇到了语法问题 package sandbox; import java.util.Stack; public class StacksMain { public static void main(String[] args)

我正在创建一个项目,该项目拥有一个飞机机队,其规格包括载货能力和重量限制。有需要进入飞机的货物清单。我有货物舱、飞机舱和主要装载机舱。我想让飞机装一堆货物。我觉得我很快就要完成了,但我可能错过了什么。我在将getter和setter与push和pop结合使用时遇到了语法问题

package sandbox;

import java.util.Stack;

public class StacksMain {

    public static void main(String[] args) {
        Airplane aircraft = new Airplane();
        Cargo exampleLoad = new Cargo(1, 2, 3, 4);
        Cargo exampleLoad2 = new Cargo(1, 5, 3, 4);
        // test stack
        Stack<Cargo> testStack = new Stack<Cargo>();
        // set cargo in current aircraft
        aircraft.setCurrentCargo(testStack);
        // push new cargo into aircraft
//this is where i'm running into the issue
        aircraft.setCurrentCargo().push(exampleLoad2);

        testStack.push(exampleLoad);
        System.out.println(testStack.pop().getValue());

    }

}

包沙盒;
导入java.util.Stack;
公务舱飞机{
私人货物;
公共飞机(){
setCurrentCargo(currentCargo);
}
公共堆栈getCurrentCargo(){
退货;
}
公共无效setCurrentCargo(堆栈currentCargo){
this.currentCargo=currentCargo;
}
}
您的
setCurrentCargo()
方法是
void
,因此您不能对该方法的结果调用
push
。你也不需要;这个

aircraft.setCurrentCargo(testStack);
// push new cargo into aircraft
//this is where i'm running into the issue
aircraft.setCurrentCargo().push(exampleLoad2);
可能是

aircraft.setCurrentCargo(testStack);
// push new cargo into aircraft
aircraft.getCurrentCargo().push(exampleLoad2);
但是因为您刚刚将cargo设置为
testStack
,所以我更喜欢

aircraft.setCurrentCargo(testStack);
// push new cargo into aircraft
testStack.push(exampleLoad2);

您好,您只需替换:
aircraft.setCurrentCargo().push(例如Load2)aircraft.getCurrentCargo().push(例如Load2)对>进行编码

到底是什么问题?你好!这个问题是离题的,没有对你的问题做出清晰、简洁的陈述。如果我们不知道哪里出了问题,我们就不知道如何帮助。
aircraft.setCurrentCargo(testStack);
// push new cargo into aircraft
aircraft.getCurrentCargo().push(exampleLoad2);
aircraft.setCurrentCargo(testStack);
// push new cargo into aircraft
testStack.push(exampleLoad2);