2011-10-07 74 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