0

答えの 1 つだけが正しい場合に、ArrayList 内の質問に 3 つの可能な答えを割り当てる方法が必要です。

Android初心者なので教えていただけると助かります。

ここに質問クラスがあります:

package com.example.quiz;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.TextView;

public class Questions extends Activity {
    private ArrayList<String> questionsArray = new ArrayList<String>();


    public Questions() {
        addQuestion("Which Prophet was the first in Islam?");
        addQuestion("What is the purpose of life?");
        addQuestion("Who is the last Prophet in Islam?");

    }

    public void addQuestion(String question) {
        questionsArray.add(question);
    }

    public ArrayList<String> getQuestionsArray() {
        return questionsArray;
    }

    public void setQuestionsArray(ArrayList<String> questionsArray) {
        this.questionsArray = questionsArray;
    }
}
4

2 に答える 2

0

マップは、データを他のデータと関連付ける必要がある場合に役立ちます。あなたの場合、質問を各質問の回答の配列に関連付けようとしています。

すべての質問()に対してaを作成HashMap<String, ArrayList<String>> answersして回答(the )を保持してから、質問(1st )とそれに関連付けられた正解(2nd )を保持する別の質問を作成できます。ArrayList<String>StringHashMap<String, String> correctAnswersStringString

回答を検証するときは、ユーザーが選択した回答を取得し、次のような正しい回答と比較する必要があります。

if(correctAnswers.get(questionString).compareTo(chosenAnswerString))
{
    //correct answer!
}
else
{
    //incorrect answer
}

質問とその回答を追加するために使用される方法は、次のようになります。

[...]

private Map answers = new HashMap<String, ArrayList<Sting>>();
private Map correctAnswers = new HashMap<String, String>();

public void addQuestion(String question, ArrayList<String> answers, String correctAnswer)
{
   this.answers.put(question, answers);
   this.correctAnswers.put(question, correctAnswer);
}

[...]

上記のようにマップを作成すると、answersマップは質問の配列、回答の配列の配列、および各質問とその回答の配列の間の関連付けを保持します。

于 2013-02-06T12:46:28.733 に答える
0

多くの可能なアプローチがあります。ArrayListそのうちの 1 つは、A、B、C などの各回答オプションを作成することです。次に、ArrayListどの回答が正しいかを示すもう 1 つのオプションを作成します。

したがって、合計 4 つArrayListの s があり、3 つが回答を格納するためのもので、1 つが正しい選択肢を示すためのものです。

于 2013-02-06T12:36:21.630 に答える