随机答案w / 4行&随机问题* JAVA *

时间:2011-10-07 17:48:46

标签: java android

我目前的代码:

TextView question; 
private int qType = -1;  
private int asked = 0;

private void QBegin() {
    // TODO Auto-generated method stub
    question = (TextView) findViewById(R.id.question);
    Random random = new Random();
    int qType = random.nextInt(5);
    switch(qType){
    case 0:
        question.setText("Question 1");
        break;
    case 1:
        question.setText("Q2");
        break;
    case 2:
        question.setText("Q3");
        break;
    case 3:
        question.setText("Q4");
        break;
    case 4:
        question.setText("Q5");
        break;
    }
    asked++;

    //intList.add(qType);
    getAnswers(qType);
    /*if(intList.contains(qType) && asked <= 5){
        QBegin();
    } else {
        answerCounter.setText("Congratulations!!! Your score : "+correct);
    }*/
}

private int answer;

private void getAnswers(int Type) {
    Random random = new Random();
    // TODO Auto-generated method stub
    switch(Type){
    case 1:
        if(random.nextInt(4) == 0){
            answer = 1;
            answer1.setText("относительно низкая температура шлаков");
            answer2.setText("сложность в управлении");
            answer3.setText("малая производительность");
            answer4.setText("нету выделения энергии непосредственно в загрузке");
        } else if (random.nextInt(4) == 1){
            answer = 2;
            answer1.setText("сложность в управлении");
            answer2.setText("относительно низкая температура шлаков");
            answer3.setText("малая производительность");
            answer4.setText("нету выделения энергии непосредственно в загрузке");
        } else if (random.nextInt(4) == 2){
            answer = 3;
            answer1.setText("сложность в управлении");
            answer2.setText("малая производительность");
            answer3.setText("относительно низкая температура шлаков");
            answer4.setText("нету выделения энергии непосредственно в загрузке");
        } else if (random.nextInt(4) == 3){
            answer = 4;
            answer1.setText("сложность в управлении");
            answer2.setText("малая производительность");
            answer3.setText("нету выделения энергии непосредственно в загрузке");
            answer4.setText("относительно низкая температура шлаков");

        }

        break;

    case 2:
        if(random.nextInt(4) == 0){
            answer = 1;
            answer1.setText("закрытые - плавка под слоем шихты");
            answer2.setText("открытые - плавка на воздухе");
            answer3.setText("вакуумные - плавка в вакууме");
            answer4.setText("компрессорные - плавка под избыточным давлением");
        } else if (random.nextInt(4) == 1){
            answer = 2;
            answer1.setText("открытые - плавка на воздухе");
            answer2.setText("закрытые - плавка под слоем шихты");
            answer3.setText("вакуумные - плавка в вакууме");
            answer4.setText("компрессорные - плавка под избыточным давлением");
        } else if (random.nextInt(4) == 2){
            answer = 3;
            answer1.setText("открытые - плавка на воздухе");
            answer2.setText("вакуумные - плавка в вакууме");
            answer3.setText("закрытые - плавка под слоем шихты");
            answer4.setText("компрессорные - плавка под избыточным давлением");
        } else if (random.nextInt(4) == 3){
            answer = 4;
            answer1.setText("открытые - плавка на воздухе");
            answer2.setText("вакуумные - плавка в вакууме");
            answer3.setText("компрессорные - плавка под избыточным давлением");
            answer4.setText("закрытые - плавка под слоем шихты");

        }

        break;

    case 3:
        if(random.nextInt(4) == 0){
            answer = 1;
            answer1.setText("в которой тепло выделяется в результате прохождения тока через проводники с активным сопротивлением");
            answer2.setText("в которой используеться активное сопротивление в качестве шихты");
            answer3.setText("в которой тепло не передаеться тепло излучением");
            answer4.setText("в которой которая делиться на компрессорную печь с активным сопротивлением");
        } else if (random.nextInt(4) == 1){
            answer = 2;
            answer1.setText("в которой используеться активное сопротивление в качестве шихты");
            answer2.setText("в которой тепло выделяется в результате прохождения тока через проводники с активным сопротивлением");
            answer3.setText("в которой используеться активное сопротивление в качестве шихты");
            answer4.setText("в которой которая делиться на компрессорную печь с активным сопротивлением");
        } else if (random.nextInt(4) == 2){
            answer = 3;
            answer1.setText("в которой используеться активное сопротивление в качестве шихты");
            answer2.setText("в которой используеться активное сопротивление в качестве шихты");
            answer3.setText("в которой тепло выделяется в результате прохождения тока через проводники с активным сопротивлением");
            answer4.setText("в которой которая делиться на компрессорную печь с активным сопротивлением");
        } else if (random.nextInt(4) == 3){
            answer = 4;
            answer1.setText("в которой используеться активное сопротивление в качестве шихты");
            answer2.setText("в которой используеться активное сопротивление в качестве шихты");
            answer3.setText("в которой которая делиться на компрессорную печь с активным сопротивлением");
            answer4.setText("в которой тепло выделяется в результате прохождения тока через проводники с активным сопротивлением");

        }

        break;

    case 4:
        if(random.nextInt(4) == 0){
            answer = 1;
            answer1.setText("Correct");
            answer2.setText("Incorrect");
            answer3.setText("Incorrect");
            answer4.setText("Incorrect");
        } else if (random.nextInt(4) == 1){
            answer = 2;
            answer1.setText("Inorrect");
            answer2.setText("Correct");
            answer3.setText("Incorrect");
            answer4.setText("Incorrect");
        } else if (random.nextInt(4) == 2){
            answer = 3;
            answer1.setText("Inorrect");
            answer2.setText("Incorrect");
            answer3.setText("Correct");
            answer4.setText("Incorrect");
        } else if (random.nextInt(4) == 3){
            answer = 4;
            answer1.setText("Inorrect");
            answer2.setText("Incorrect");
            answer3.setText("Incorrect");
            answer4.setText("Correct");

        }

        break;

    case 5:
        if(random.nextInt(4) == 0){
            answer = 1;
            answer1.setText("Correct");
            answer2.setText("Incorrect");
            answer3.setText("Incorrect");
            answer4.setText("Incorrect");
        } else if (random.nextInt(4) == 1){
            answer = 2;
            answer1.setText("Inorrect");
            answer2.setText("Correct");
            answer3.setText("Incorrect");
            answer4.setText("Incorrect");
        } else if (random.nextInt(4) == 2){
            answer = 3;
            answer1.setText("Inorrect");
            answer2.setText("Incorrect");
            answer3.setText("Correct");
            answer4.setText("Incorrect");
        } else if (random.nextInt(4) == 3){
            answer = 4;
            answer1.setText("Inorrect");
            answer2.setText("Incorrect");
            answer3.setText("Incorrect");
            answer4.setText("Correct");

        }

        break;

    }
}
  • 我不想随机提出问题随机答案,这些问题会随机出现在4行之一,例如:

问题1。

'正确asnwer'

'答案错误1'

'答案错误3'

'答案错误2'

我再次点击,出现同样的问题,但这次......

问题1。

'答案错误2'

'答案错误3'

'答案错误1'

'正确答案'

有人可以为我创建一个简单的程序吗? 这将随机生成问题,并为其中一个问题选择4个答案,也会使问题在4行中的1行中随机出现,如图所示^

P.S。 忽略奇怪的语言!

1 个答案:

答案 0 :(得分:2)

你真的不应该用这种方式对问题进行硬编码。它会使你的代码很难阅读,修复和扩展。

您需要创建应用可以阅读的问题和答案的集中列表。您可以使用如下所示的数组XML文件创建问题和答案:http://developer.android.com/resources/samples/ApiDemos/res/values/arrays.html或者您可以创建包含问题和答案的SQLite DB:http://developer.android.com/guide/topics/data/data-storage.html#db

这两种方式不是唯一的方法,但它们很简单易行。