Java Android创建多维数组并获取值

Java Android创建多维数组并获取值,java,arrays,Java,Arrays,我的第一语言是PHP:),是Android和Java的新手。我试图理解Java中的数组系统,因为它与PHP有很大的不同。到目前为止,Java有两种不同类型的数组(如果我错了,请纠正我)arr[]和ArrayList与Java中的PHP不同,我们必须为数组定义datatype 我正在制作一个简单的测验应用程序(没有数据库),只是为了学习。为此,我想创建一个多维数组,其中包含问题、答案和类似的选项 { { question, {option1, option2

我的第一语言是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

}
然后将数据添加到列表中

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

希望这有帮助:)

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

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

}
然后将数据添加到列表中

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;
    }
    }
公共类Quizmodel{
String mAnswer=新字符串();
字符串mQuestion=新字符串();
List mOptions=new ArrayList();
公共字符串getmQuestion(){
返回mQuestion;
}
公共void setmQuestion(字符串mQuestion){
this.mQuestion=mQuestion;
}
公共字符串getmAnswer(){
返回曼斯沃;
}
公共无效设置权限(字符串权限){
这个.mAnswer=mAnswer;
}
公共列表getmOptions(){
返回运动;
}
公共无效设置选项(列表选项){
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());
    }
List mQuizList=new ArrayList();
字符串mQuestion=新字符串();
mQuestion=“在此处提问?”;
List mOptionsList=new ArrayList();
mOptionsList.添加(“A1”);
mOptionsList.添加(“A2”);
mOptionsList.添加(“A3”);
Quizmodel mModel=新Quizmodel();
mModel.setmQuestion(mQuestion);
mModel.setmOptions(mOptionsList);
mModel.setmAnswer(“A2”);
mQuizList.add(mModel);
//字符串m=”“;
对于(int ind=0;ind
//只需按照步骤操作,您将获得所需的结果。 //添加了示例输入和输出

样本输出

在这里问问题

答案选项

A1 A2 A3

A2


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

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

  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;
    }
    }
公共类Quizmodel{
String mAnswer=新字符串();
字符串mQuestion=新字符串();
List mOptions=new ArrayList();
公共字符串getmQuestion(){
返回mQuestion;
}
公共void setmQuestion(字符串mQuestion){
this.mQuestion=mQuestion;
}
公共字符串getmAnswer(){
返回曼斯沃;
}
公共无效设置权限(字符串权限){
这个.mAnswer=mAnswer;
}
公共列表getmOptions(){
返回运动;
}
公共无效设置选项(列表选项){
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());
    }
List mQuizList=new ArrayList();
字符串mQuestion=新字符串();
mQuestion=“在此处提问?”;
List mOptionsList=new ArrayList();
mOptionsList.添加(“A1”);
mOptionsList.添加(“A2”);
mOptionsList.添加(“A3”);
Quizmodel mModel=新Quizmodel();
mModel.setmQuestion(mQuestion);
mModel.setmOptions(mOptionsList);
mModel.setmAnswer(“A2”);
mQuizList.add(mModel);
//字符串m=”“;
对于(int ind=0;ind
//只需按照步骤操作,您将获得所需的结果。 //添加了示例输入和输出

样本输出

在这里问问题

答案选项

A1 A2 A3

A2


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

您可以创建自己的模型类,其中包含问题、选项列表和答案,然后创建该模型的arraylistclass@AbdulKawee谢谢你的建议。正如我所说的,我是新手,所以示例代码将非常受欢迎,并且有助于理解。你想要这样的结构吗,即问题列表,即q1,q2,q3、q4答案列表,即a1、a2、a3、a4您想将两个列表都放在一个列表中,然后从中同时获得?ArrayList不是数组。ArrayList是一个类。一般不要使用数组。不要使用多维数组来存储各种东西:定义一个类问题(顺便说一句,在PHP中是这样),并使用一个列表。任何Java入门书籍或Java教程都描述了类是什么。这是一个基本概念。您需要学习该语言并进行一些研究。@SyedHamzaHassan在Java中,我不太确定哪种方法更好,但我想通过循环数组来填充问题,以创建带有问题单选按钮的表单。当用户提交时,我将和答案进行比较。您可以创建自己的模型类,其中包含问题、选项列表和答案,然后创建该模型的arraylistclass@AbdulKawee谢谢你的建议。正如我所说,我是新手,所以示例代码