我正在尝试将值从 my 传递private static void main(...)
到一个在构造函数中初始化了数组堆栈的类。我想知道如何将我分配给变量的值main()
和push
该值放到这个内部类中的数组堆栈上?
我知道数组堆栈有效,我之前已经实现过这个类没有问题,但我只使用arrayStack()
我创建的和一个main()
. 第三课的加入让我很困惑。
在没有深入了解我的代码的情况下,我希望有人可以向我解释(或指向我一些资源)如何将参数传递给在构造函数中初始化的堆栈,参数来自main()
不同类的方法(相同的包)?
我试图获取值的示例:
package program2;
public class Exec {
public Exec(DStack ds) {
/*I have initilized an arrayStack to hold doubles (i.e. DStack).
* I can use ds.push()/pop()/top() etc.
* I cannot take the value from Calculator.java and push that value
* here, which is what I need help understanding?
* */
ds.push(Calculator.i); //I would expect an error here, or the value stored in
//Calculator.i to be added to the stack. Instead program
//terminates.
}
}
我想从哪里获取值:
package program2;
public class Calculator {
public static double i;
public static void main(String[] args) {
i=9; //I'm expecting that by using Calculator.i in the Exec class that
//I should be able to push 'i' onto the stack.
}
}
这个问题伴随着我昨天在这里工作的问题和答案:Get answer from user input and pass to another class。有三个区别,一是我不再从菜单中选择答案并执行操作。第二,我想知道如何在堆栈上获取项目,而不是String
在一系列 if/else 语句中进行比较。最后,我想更详细地了解一下这个动作的具体细节。