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