0

Java は初めてで、main から値を保持するのに問題があります。IDE として blue J を使用しています。

とにかく、私は2つのクラスを持っています。Driver (void []main を使用) と Deck というクラス。プログラムを初めて実行すると、問題なく実行され、デックの値が本来あるべき値に設定されます。次に、メイン スレッド (ドライバー) に戻り、メニューの数値をユーザーに提示します。彼らはキーを押し、私はそれを読み込み、Deck を再度呼び出して以前とまったく同じ値を表示しますが、今回は配列などの値が空です。初めてセッターを使用して値を設定したにもかかわらず、それらは初期化されていますが空です。

メイン スレッド (ドライバー) から同じオブジェクト (デッキ) を渡しています。同じオブジェクトを使用して最初に値を設定したにもかかわらず、2回目に実行したときに値が存在しない理由を誰かが知っていますか? コードを投稿しますが、よく整理されていないため、かなりうまくまとめました。

また、これは値の保持に関して私が理解していない可能性のある Java の原則ですか?

前もって感謝します!

4

1 に答える 1

0

何が問題なのか正確にはわかりません。しかし、これらを試すことができます: 1) コンストラクター内で変数を宣言して初期化しましたか? その場合は、変数をコンストラクタの外で宣言して、それらがクラス Deck の任意のオブジェクトの「フィールド」になるようにします。

2) コードを中断し、値が実際に Deck クラスのオブジェクトの変数に設定されているかどうかを確認します。フィールドに null が表示される場合。その場合、それらは値に設定されていてはなりません。
それらを設定するには、コンストラクターを使用するか、別の setValue() メソッドを作成して値を設定します。したがって、このメソッドを main() で呼び出して、値を設定します。

しかし、ええ、質問にコードを追加できればもっと良いでしょう。

于 2012-10-21T05:00:58.547 に答える