2011-10-07 75 views
-4

我当前的代码:随机答案W/4线及随机出题* JAVA *

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; 

    } 
} 
  • 我wan't有随机的问题与自己随机的答案,那将随机出现在一个4行,例如:

问题1.

'正确asnwer'

“INCOR RECT答案1'

'不正确的答案3'

'不正确的答案2'

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

问题1.

'错误答案2'

'错误答案3'

'不正确的答案1'

'正确答案'

有人可以给我创建一个简单的程序? 这将随机生成问题,并为其中一个问题选择4个答案,也会使问题出现在4行中的1行上,如图所示。 忽略奇怪的语言!

+0

您还没有提出任何问题。请这样做。有关格式帮助,请参阅帮助页面:http://stackoverflow.com/editing-help –

+0

您的问题是什么? O_o – derrdji

+0

奥克,我编辑了它。 – desicions

回答

2

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

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

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

+0

不是我想到的,我只是想让我的代码缩短,这几乎都是。 – desicions