2009-04-28 14 views
1

私はこのプログラムで作業しています。ゲームの最後に、再度プレイしたいかどうかを尋ねます。彼らが「はい」と答えたら、私は新しいゲームを始める必要があります。しかし、私は、彼らが前の試合中に何であったかで私のプログラムの滞在で、このメソッドに値の一部を呼び出すときJava:プログラム内のすべての値をリセットする

public void restart(){ 
    Game g = new Game(); 
    g.playGame(); 
} 

:私は、再起動()メソッドを作りました。

すべてをクリアしてすべてのデフォルト値でゲームの新しいインスタンスを作成するゲームはありますか?

+0

もっとコードを投稿できますか?ゲームクラスですか? restart()メソッドを含むクラス? – Mark

答えて

7

これ以上の情報がなければ、静的変数を使用する可能性が高いと思われます。静的変数は、指定されたクラスのすべてのインスタンスにわたって保持されます。それらをすべてメンバー変数にしてコンストラクタで初期化すれば、それはうまくいくはずです。

1

リセットされない値がGameコンストラクタでリセットされているかどうかを確認します。彼らはそうでない可能性があります。

静的な値もありますか?静的値はコンストラクタによってリセットされません。

0

のstatic変数がありますか?はいの場合、それはおそらく問題です。静的変数の値は、クラスの新しいインスタンスに対して維持されます。静的修飾子を削除して、クラスコンストラクタ内のすべての変数を初期化してください。

関連する問題