こんにちは、Java クイズをシミュレートするプログラムを作成しました。プログラムには 3 つのネストされたクラスがあります 最初のクラスはユーザー情報 (name id# など) を要求します すべてが提供された後、2 番目のクラスが呼び出されます このクラスは実際のクイズです ユーザーがすべての質問に答えるか、時間がなくなるとクイズは終了しますその時点で、3 番目のクラスがクイズの採点を行います。ユーザーが失敗した場合、ユーザーはボタンを押してもう一度クイズを受けることができます。再試行の選択肢が選択されると、試行を追跡する変数が 1 つ実装されます。ただし、問題は、ユーザーが何回試行したかを追跡する変数が消去されることです。これは、コードを記述した方法で、プログラムがクラス 1 から始まり、次にクラス 2 とクラス 3 に戻り、何らかの理由でクラスが 2 回目にリロードされると、変数は初期値に戻ります。変数が消去されないように変数を保存する方法はありますか? どんな助けでも大歓迎です。
質問する
2125 次
3 に答える
2
クラスがリロードされたときにそこから読み取られるように、ファイルに値を書き込むことをお勧めします。
于 2012-12-07T15:51:59.537 に答える
0
私はあなたがそのようなものを持っていると思います
public class A {
Object value;
public void setValue(Object value) {
this.value = value;
}
public Object getValue() {
return value;
}
}
したがって、インスタンスを破棄して新しいインスタンスを作成すると、値は失われます。
value
アカデミックソリューションとして、クラスレベルに移動できます。
したがって、次のようになります。
public class A {
static final Object[] values;
static void setValue(Object value) {
values[0] = value;
}
static Object getValue() {
return values[0];
}
}
このようvalue
に、メンバーはインスタンスではなくクラスに属します。
ただし、実際のアプリケーションでは実行しないでください。デザインを再検討してください。
于 2012-12-07T15:58:53.857 に答える
0
クイズ情報のために、ディスク上にある種の永続性が必要です。ファイルの読み取りと書き込みを行うFileOutputStreamとFileInputStreamを確認します。グーグルで検索すると、たくさんのチュートリアルがあります (このようなものです)。
于 2012-12-07T15:49:38.687 に答える