2016-04-23 12 views
-1

さまざまなファクトの配列を持つ単純なファクトアプリケーションがあります。 私は、次、前、そしてホームボタンを持っています。 ホームボタンを押すと、最初のファクトをもう一度表示し、その後、最初の配列値から再びインクリメントを開始します。配列が正しくルーピングされないJava

私のホームボタンが機能しません。私が次のボタンを5回叩いてからホームボタンを押すと、最初の事実に向かいますが、次のボタンを押すと、6番目の事実が表示されます。あなたがiの新しいローカルバージョンを宣言している

public String nextFact() { 
     i++; 
     if(i >= facts.length) { 
      i = 0; 
     } 

     return facts[i]; 
    } 


    public String previousFact() { 
     i--; 
     if(i < 0) { 
      i = facts.length - 1; 
     } 
     return facts[i]; 
    } 

    public String homeButton() { 
     int i = 0; 
     return facts[i]; 
    } 
+0

「i」はどこから来たのですか?それがクラスの一部であれば、 'this.i'を使います。それ以外の場合は、引数として渡します。 – cst1992

答えて

4

は、ここに私のコードです。 それは次のようになります。

public String homeButton() { 
     i = 0; 
     return facts[i]; 
    } 
-1

あなたのコードによると、私は私が現在表示されている質問のインデックスを追跡三つの方法間で共有変数、であると仮定しています。その場合、ローカル変数を作成するのではなく、クラスメンバーiを0にリセットする必要があります。

public String homeButton() { 
    i = 0; 
    return facts[i]; 
} 

これはトリックを行う必要があります。

関連する問題