我正在我的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);
}
}
}
}
答案 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之间的随机值