如何在android中随机提问

时间:2015-07-05 06:49:39

标签: java android random

我正在我的android项目中开发一个简单的测验,我创建了15个示例问题。我想随机化问题,但我不知道如何为此编写代码。这就是我到目前为止所拥有的

package com.adm.kana;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Button;

public class Kuis_Hiragana extends Activity implements View.OnClickListener {
    TextView pertanyaan, salahbenar;
    Button jawab, lanjut;
    EditText jawaban;
    int benar = 0, salah = 0, index = 0;
    String[] soal = {"ぐ ", "く ", "あ ", "ば ", "き ゅ ", "ち ょ ", "ち ", "お ", "ぽ ", "ね ", "わ ", "む ", "れ ", "ぞ ", "し ょ "};
    String[] jawabann = {"gu", "ku", "a", "ba", "kyu", "cho", "chi", "o", "po", "ne", "wa", "mu", "re", "zo", "sho"};

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.kuis);

        salahbenar = (TextView) findViewById(R.id.salahbenar);
        salahbenar.setText("");
        pertanyaan = (TextView) findViewById(R.id.soal);
        pertanyaan.setText(soal[0]);
        lanjut = (Button) findViewById(R.id.lanjut_soal);
        lanjut.setOnClickListener(this);
        jawab = (Button) findViewById(R.id.btn_jawab);
        jawab.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        salahbenar = (TextView) findViewById(R.id.salahbenar);
        jawaban = (EditText) findViewById(R.id.jawab);
        if (v == jawab) {
            String jawab1 = jawaban.getText().toString();
            if (jawab1.equalsIgnoreCase(jawabann[index])) {
                salahbenar.setText("BENAR");
                benar++;
            }
            else {
                salahbenar.setText("SALAH");
                salah++;
            }
        }
        else if (v == lanjut) {
            if (index < soal.length - 1) {
                index++;
                pertanyaan.setText(soal[index]);
                jawab.setEnabled(true);
                lanjut.setVisibility(View.VISIBLE);
                jawaban.setText("");
                salahbenar.setText("");
            }
            else {
                Intent i = new Intent(Kuis_Hiragana.this, Hasil.class);
                i.putExtra("BENAR", benar);
                i.putExtra("SALAH", salah);
                startActivity(i);
                onStop();
                System.exit(0);
            }
        }
    }
}

3 个答案:

答案 0 :(得分:1)

非常简单。我会一步一步解释。

第1步

String[] questions = {"Question 1","Question 2","Question 3","Question 4"};

将15个这样的问题添加到字符串数组中。

第2步

创建Random类的对象。

Random randomQuests = new Random();

第3步

只需使用rantInt方法

生成一个随机问题
String randomQuestion = questions[randomQuests.nextInt(15)];

传递的参数必须为15,这样它才能生成0到14之间的随机数。

希望这有帮助。

答案 1 :(得分:0)

如果你想获得一个随机索引,我建议你使用java Random calss

Random randomGenerator = new Random();
randomGenerator.nextInt(size of your array);

答案 2 :(得分:0)

现在如果您已将问题存储在数组String中,则可以使用随机函数

Random rand=new Random();
String[] soal={"1 question","2 Question","3 Question "," 15 question"};
String randomQuestion=soal[rand.nextInt(15)];

如果您有15个问题,那么rand.nextInt(15)将提供0到14之间的随机值