簡単なクイズゲームを作っています。このゲームでは、質問とそれぞれの回答がランダムに生成されます。質問のリスト「q」を作成しました。
そして、その答えとして、それぞれ4つの文字列を含むさまざまなリストを作成しました。たとえば、質問がqリストの0の場合、この質問の回答はリスト「a0」になりますよね?しかし、回答リストの文字列を取得するのに問題があります。私はこれを試しました:
while(true){
Integer nxt = rng.nextInt(6);
if (!generated.contains(nxt))
{
generated.add(nxt);
textView1.setText(((ArrayList<String>) q).get(nxt));
String x;
x = ("a" +nxt);
Collections.shuffle((x));
btn1.setText(((ArrayList<String>) x).get(0));
btn2.setText(((ArrayList<String>) x).get(1));
btn3.setText(((ArrayList<String>) x).get(2));
btn4.setText(((ArrayList<String>) x).get(3));
break;
}
}
正しいリストを取得するために文字列「x」を作成しました。「nxt」が4の場合、ボタンのテキストはリストa4の文字列を取得します。
しかし、私のコードでは、「Collections.shuffle」と「setText」はリスト「x」を見つけようとします。それは私が想像したようには進んでいません。
どうすれば修正できますか?
*私の考えは、クリックされたボタンの文字列をチェックして、正しい答えの別のリストと比較することです。そのようにして、私は正しい答えと他の3つの間違った答えを帰することができます。