【问题标题】:How do you use an array to store questions and answers inside to make a quiz如何使用数组在里面存储问题和答案进行测验
【发布时间】:2016-12-14 00:23:06
【问题描述】:

我正在根据我的 Java 教科书中关于数组的一章进行分配:

使用第 5 章中的 Question 类来定义 Quiz 类。一个测验最多可以由 25 个问题组成。定义 Quiz 类的 add 方法以向测验添加问题。定义 Quiz 类的 giveQuiz 方法以向测验添加问题。定义 Quiz 类的 giveQuiz 方法,依次向用户呈现每个问题,接受每个问题的答案,并跟踪结果。定义一个名为 QuizTime 的类,其 main 方法为测验选择问题、向用户展示测验、收集和检查答案并打印最终结果。

我正在考虑的这个作业的项目开发计划可能正确也可能不正确:

  1. 创建测验类

  2. 在 Quiz 类中创建 add 方法以将问题添加到测验中

  3. 在 Quiz 类中定义 giveQuiz 方法向用户提问

  4. 让它接受每个问题的答案,

5.跟踪答案的结果

6.创建另一个名为 QuizTime 的类

  1. 创建一个主方法。

8.制作可以将问题作为数组输入到方法参数中的方法

9.存储并检查答案

  1. 打印结果。

在我看来,它要求总共创建 3 个类和一个 main 方法。

但是,我对为什么需要这么多课程感到困惑。下面给出的 Question 类中的方法似乎具有执行分配告诉程序员执行的操作的方法,但是这些方法看起来是空的并且没有用处。我也对#6-10 的程序开发计划感到困惑。我不确定如何制作一个数组来将问题和答案存储到一个方法中。

这是 Java 教科书中已经给出的 Question 类:

    //********************************************************************
    //  Question.java       Author: Lewis/Loftus/Cocking
    //
    //  Represents a question (and its answer).
    //********************************************************************

    public class Question implements Complexity
    {
       private String question, answer;
       private int complexityLevel;

       //-----------------------------------------------------------------
       //  Sets up the question with a default complexity.
       //-----------------------------------------------------------------
       public Question (String query, String result)
       {
          question = query;
          answer = result;
          complexityLevel = 1;
       }

       //-----------------------------------------------------------------
       //  Sets the complexity level for this question.
       //-----------------------------------------------------------------
       public void setComplexity (int level)
       {
          complexityLevel = level;
       }

       //-----------------------------------------------------------------
       //  Returns the complexity level for this question.
       //-----------------------------------------------------------------
       public int getComplexity()
       {
          return complexityLevel;
       }

       //-----------------------------------------------------------------
       //  Returns the question.
       //-----------------------------------------------------------------
       public String getQuestion()
       {
          return question;
       }
       //-----------------------------------------------------------------
       //  Returns the answer to this question.
       //-----------------------------------------------------------------
       public String getAnswer()
       {
          return answer;
       }

       //-----------------------------------------------------------------
       //  Returns true if the candidate answer matches the answer.
       //-----------------------------------------------------------------
       public boolean answerCorrect (String candidateAnswer)
       {
          return answer.equals(candidateAnswer);
       }

       //-----------------------------------------------------------------
       //  Returns this question (and its answer) as a string.
       //-----------------------------------------------------------------
       public String toString()
       {
          return question + "\n" + answer;
       }
    }

这是我创建的测验类,我还没有参与过 很多。

public class Quiz
{
    private String add;

    public String addQuest (String addQ)//adds questions to quiz
    {
        add = addQ;
        return add;//returninng the question
    }

    public String giveQuiz ()//give the quiz to the user
    {
        //accept and store each answer
        return;
    }
}

QuizTime 类:

public class QuizTime
{
    private String question; 

    public String[] Quiz() {
    }
    public String toString(String quest)
    {
        question = quest;
        for (int i = 0; i < 25; i++)
            Quiz[i] = new Quiz (question);
    }

    public String presents ()
    {
        for (int i = 0; i < 25; i++)
            return quest[i];
    }
}

我还没有制作 main 方法,因为我仍然不知道这些类的开发将如何工作。我为我在课堂和数组方面的低技能道歉,因为我刚刚学会了它们。非常感谢你们提前提供的帮助。

对于 Quiz 类,在第一种方法中,我试图让 main 方法为可以存储在方法中的问题插入参数。但是我想知道是否有一种更简单的方法可以在方法内部存储 25 个测验问题的参数,如果可能的话。我正在尝试 请让我知道我是否在正确的轨道上。非常感谢。

【问题讨论】:

  • 代码运行了吗?它符合您的要求吗?如果是,那么您就在正确的轨道上。如果没有,您需要修改代码,直到它完成。我敢肯定,有经验的开发人员会以不同的方式做到这一点。你自己完成这项任务的一部分是有机会在最后回顾它,看看你可以做得更好/更干净/优雅。
  • 程序开发规划是我的弱项。我的部分问题是知道有什么更好的方法可以让它发挥作用。
  • 不尝试就永远学不会。这是对您问题的另一种解释:一个有详细作业的学生,​​他很少或根本没有尝试过,他试图让其他人为汤姆·索亚做他的工作。

标签: java arrays class methods


【解决方案1】:

但我想知道是否有更简单的方法可以在方法内存储 25 个测验问题的参数(如果可能的话)

不需要有 25 个参数的测验问题。这就是为什么你应该使用你学校的数组。

它看起来像这样:

public Question[] getQuestions(){
    return questions;
}

出于任何原因,如果您需要通过方法传递所有问题,它将如下所示:

public void sendQuestions(Question[] ques){
    //do whatever
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    • 2015-02-14
    • 2012-05-08
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 2012-07-25
    相关资源
    最近更新 更多