private static void main(...)
my から、コンストラクターで初期化された配列スタックを持つクラスに値を渡そうとしています。内の変数に割り当てた値main()
と、push
その値をこの innerClass 内の配列スタックに取り込む方法を考えていました。
配列スタックが機能することはわかっています。以前にこのクラスを問題なく実装しましたが、arrayStack()
作成したmain()
. 3 番目のクラスの追加は、私を混乱させます。
コードに深く入り込むことなく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 . 違いは 3 つあります。1 つは、メニューから回答を選択してアクションを実行する必要がなくなったことです。String
2 つ目は、スタック上のアイテムを取得する方法と、一連の if/else ステートメントを比較する方法を知りたいです。最後に、このアクションの基本についてもう少し詳しく知りたいと思います。