【发布时间】:2016-12-14 00:23:06
【问题描述】:
我正在根据我的 Java 教科书中关于数组的一章进行分配:
使用第 5 章中的 Question 类来定义 Quiz 类。一个测验最多可以由 25 个问题组成。定义 Quiz 类的 add 方法以向测验添加问题。定义 Quiz 类的 giveQuiz 方法以向测验添加问题。定义 Quiz 类的 giveQuiz 方法,依次向用户呈现每个问题,接受每个问题的答案,并跟踪结果。定义一个名为 QuizTime 的类,其 main 方法为测验选择问题、向用户展示测验、收集和检查答案并打印最终结果。
我正在考虑的这个作业的项目开发计划可能正确也可能不正确:
创建测验类
在 Quiz 类中创建 add 方法以将问题添加到测验中
在 Quiz 类中定义 giveQuiz 方法向用户提问
让它接受每个问题的答案,
5.跟踪答案的结果
6.创建另一个名为 QuizTime 的类
- 创建一个主方法。
8.制作可以将问题作为数组输入到方法参数中的方法
9.存储并检查答案
- 打印结果。
在我看来,它要求总共创建 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 个测验问题的参数,如果可能的话。我正在尝试 请让我知道我是否在正确的轨道上。非常感谢。
【问题讨论】:
-
代码运行了吗?它符合您的要求吗?如果是,那么您就在正确的轨道上。如果没有,您需要修改代码,直到它完成。我敢肯定,有经验的开发人员会以不同的方式做到这一点。你自己完成这项任务的一部分是有机会在最后回顾它,看看你可以做得更好/更干净/优雅。
-
程序开发规划是我的弱项。我的部分问题是知道有什么更好的方法可以让它发挥作用。
-
不尝试就永远学不会。这是对您问题的另一种解释:一个有详细作业的学生,他很少或根本没有尝试过,他试图让其他人为汤姆·索亚做他的工作。