前提・実現したいこと
プログラミング初心者です。独学でAndroidStudioを利用し、
診断系アプリを作成しています。
現在、質問をランダム(重複あり)で出題するようになっていますが、
これを重複なしに変更するにはどのような書き方をすれば良いでしょうか。
該当のソースコード
Java
1public class PlayActivity extends AppCompatActivity { 2 3 // 問題データ 4 String[] question = { 5 "質問1", 6 "質問2", 7 "質問3", 8 "質問4", 9 "質問5" 10 }; 11 12 // YES選択時のスコア(評価点) 13 int[] yes = {1, 1, 1, 1, 1}; 14 15 int r = 0; // 乱数の保管 16 int count = 5; // 問題数 17 int score = 0; // スコアの合計(評価点) 18 19 @Override 20 protected void onCreate(Bundle savedInstanceState) { 21 super.onCreate(savedInstanceState); 22 setContentView(R.layout.activity_play); 23 24 // 出題 25 r = new Random().nextInt(question.length); 26 ((TextView) findViewById(R.id.tvQuestion)).setText(question[r]); 27 } 28 29 // Yesボタン 30 public void onYes(View v) { 31 count--; 32 score += yes[r]; // スコアの加算 33 if (count > 0) { 34 ((TextView) findViewById(R.id.tvCount)).setText("残り" + count + "問"); 35 // 出題 36 r = new Random().nextInt(question.length); 37 ((TextView) findViewById(R.id.tvQuestion)).setText(question[r]); 38 } else { 39 Intent intent = new Intent(this, ResultActivity.class); 40 intent.putExtra("score" , score); 41 startActivity(intent); 42 finish(); 43 } 44 } 45 46 47 // Noボタン 48 public void onNo(View v) { 49 count--; 50 score -= yes[r]; // スコアの減算 51 if (count > 0) { 52 ((TextView) findViewById(R.id.tvCount)).setText("残り" + count + "問"); 53 // 出題 54 r = new Random().nextInt(question.length); 55 ((TextView) findViewById(R.id.tvQuestion)).setText(question[r]); 56 } else { 57 Intent intent = new Intent(this, ResultActivity.class); 58 intent.putExtra("score" , score); 59 startActivity(intent); 60 finish(); 61 } 62 } 63} 64
補足情報
バージョン
AndroidStudio 3.5.2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。