繁体   English   中英

Android创建多维数组并获得价值

[英]Android create multidimensional array and get value

我的第一语言是PHP :)和Android和Java的新手。 我试图了解Java中的数组系统,因为它与PHP完全不同。 到目前为止,理解Java具有两种不同类型的数组(如果我错了,请纠正我) arr[]ArrayList<>另外,与Java中的PHP不同,我们必须为数组定义datatype

我正在做一个简单的测验应用程序(没有数据库),只是为了学习。 为此,我想创建一个包含问题,答案和选项的多维数组。

{
    {
        question,
        {option1, option2, option 3, ...}
        answer
    }

    {
        question,
        {option1, option2, option 3, ...}
        answer
    }

    {
        question,
        {option1, option2, option 3, ...}
        answer
    }

    ...
}

我知道使用arr[][] = {}创建多维数组的基础,但是我不知道如何为选项添加另一个数组以获得与上述相似的结果。

更新资料

所以我想以这种方式填充列表。

在此处输入图片说明

您可以通过将自己的模型类设置为

public class MyCustomModel {

String question;
List<String> options;
String answer;

public MyCustomModel(String question, List<String> options, String answer){
 this.question = question;
 this.options = options;
 this.answer = answer;
}

 // getter and setter methods here

}

然后简单地制作一个array list

private ArrayList<MyCustomModel> myData;

然后将数据添加到列表

myData.add(new MyCustomModel("question 1",myListOfOptions, "answer"));

希望这可以帮助 :)

//您可以这样做,添加模型类

  public class Quizmodel {

String mAnswer = new String();
String mQuestion = new String();
List<String> mOptions = new ArrayList<>();
public String getmQuestion() {
        return mQuestion;
    }

    public void setmQuestion(String mQuestion) {
        this.mQuestion = mQuestion;
    }

public String getmAnswer() {
        return mAnswer;
    }

    public void setmAnswer(String mAnswer) {
        this.mAnswer= mAnswer;
    }





    public List<String> getmOptions() {
        return mOptions;
    }

    public void setmOptions(List<String> mOptions) {
        this.mOptions = mOptions;
    }
    }

//在主类中设置模型类的值;

   List<Quizmodel> mQuizList = new ArrayList<>();
    String mQuestion = new String();
    mQuestion = "Ask Question Here ?";
    List<String> mOptionsList = new ArrayList<>();
    mOptionsList.add("A1");
    mOptionsList.add("A2");
    mOptionsList.add("A3");

    Quizmodel mModel = new Quizmodel();
    mModel.setmQuestion(mQuestion);
    mModel.setmOptions(mOptionsList);
     mModel.setmAnswer("A2");

    mQuizList.add(mModel);

    //String m = "";
    for (int ind = 0; ind < mQuizList.size(); ind++) {
        System.out.println(mQuizList.get(ind).getmQuestion());
        //  Log.v("response",mQuizList.get(ind).getmQuestion());
        for (int index = 0; index < mQuizList.get(ind).getmAnswers().size(); index++) {
            System.out.print(mQuizList.get(ind).mAnswers.get(index) + " ");
           // m = m + mQuizList.get(ind).mAnswers.get(index) + " ";
        }
System.out.println(mQuizList.get(ind).getmAnswer());
    }

//只需按照步骤操作,您将获得所需的结果。 //添加了示例输入和输出。

样本输出

在这里问问题?

答案选项

A1 A2 A3

A2

//我希望它能带来轻松。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM