2 hubert bing Hubert_bing 于 2016.05.09 15:55 提问

android/java 数据库中数据如何生成选择题

现有数据库中数据形式是这样的:key 名字;translation 解释;
如何**随机**取出其中一条数据的key为题目,translation为一个正确选项,再取出另外3条数据的translation作为错误选项,生成选择题,并且正确选项会随机出现在ABCD任意位置?
哪位大神可以解答一下我的问题?提供一个思路。。。先谢谢啦~

5个回答

qq_34920350
qq_34920350   2016.05.10 04:01
已采纳

首先获取随机题目;随机题目id可以使用这样获取int a=(int) (Math.random()*10+1);后面的10是在10里面随机获取;
发送的时候不用打乱发送,在客户端排序的时候打乱排序
public static void main(String[] args) {

String[] arr={"a的答案","b的答案","c的答案","d的答案"};//这添加字符串我就不用说了吧;;;;
//标记正确答案
String right="a的答案";
aa(arr);
Scanner scan=new Scanner(System.in);
String a=scan.next();
//输出匹配结果
System.out.println(a.equals(right));
}
public static void aa(String[] arr){
int dd=0;
for (int i = 0; i < arr.length; i++) {
int a=(int) (Math.random()*arr.length);
String temp=arr[i];
arr[i]=arr[a];
arr[a]=temp;
dd++;
}
System.out.println(dd);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
这样就获取到打乱后的排序;
按这排序添加到listview中嘛;

Hubert_bing
Hubert_bing 非常感谢您的解答!看了你的回答我有了自己思路,已经解决自己的问题了
一年多之前 回复
qq_34920350
qq_34920350 http://pan.baidu.com/s/1i5KwtHb
一年多之前 回复
qq_34920350
qq_34920350 http://pan.baidu.com/s/1i5KwtHb 刚刚写了些代码,希望对你有帮助
一年多之前 回复
qq_34920350
qq_34920350 那个int dd是测试计算次数的。只是用来计算效率用的没什么大的关系
一年多之前 回复
qq_34920350
qq_34920350 用java测试的list,该改什么看情况改嘛
一年多之前 回复
Hubert_bing
Hubert_bing   2016.05.10 13:40

非常感谢 qq_34920350 的回答

我有思路了,下面这个方法就是我的解决办法,其参数是List形式的题目,第一位是题目,第二为是正确答案,其余是错误答案。

exercise_answer 是TextView显示窗口此方法将错误答案随机排到A~D的选项

    /**
     * 更新题目的UI界面,将答案随机分布到选项
     */
    public void upDateQuestionUI(List<String> question) {
        Log.d("ExerciseActivity", "更新题目的UI界面");
        exercise_question_wordsKey.setText(question.remove(0));
        exercise_answer1.setText(question.remove((int) (Math.random() * question.size())));
        exercise_answer2.setText(question.remove((int) (Math.random() * question.size())));
        exercise_answer3.setText(question.remove((int) (Math.random() * question.size())));
        exercise_answer4.setText(question.remove((int) (Math.random() * question.size())));
    }
qq_34920350
qq_34920350 涨知识了
一年多之前 回复
CSDNXIAOD
CSDNXIAOD   2016.05.09 16:02

Java 数据库数据生成Excel
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Royal_lr
Royal_lr   Ds   Rxr 2016.05.09 16:06

可以在后台生成一个4以内的整数随机数,1对应A,2对应B,3对应C,4对应D,,

Hubert_bing
Hubert_bing 不太明白。。
一年多之前 回复
sudaming88888888
sudaming88888888   2016.05.09 23:17

用Math.radom

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!