2016-12-14 40 views
0

我基於在一個關於我的Java教科書陣列章節的assignement,說工作:如何使用一個數組來存儲內部的問題和答案,使測驗

使用以下章節中的問題類5定義一個Quiz類。測驗可以由最多25個問題組成。定義Quiz類的add方法以向測驗添加問題。定義Quiz類的giveQuiz方法,將問題添加到測驗中。定義Quiz類的giveQuiz方法,將每個問題依次呈現給用戶,接受每個問題的答案,並跟蹤結果。使用主要方法定義一個名爲QuizTime的類,該方法爲測驗選擇問題,向用戶呈現測驗,收集並檢查答案,並打印最終結果。

對於這項任務,我想這可能是或不是正確的程序開發計劃是在這裏:

  1. 創建測驗類

  2. 創建添加方法測驗課給測驗增加一個問題

  3. 定義giveQuiz m ethod競猜類給問題的用戶

  4. 使其接受每個問題答案,

5.保持跟蹤答案

的結果6.Create稱爲QuizTime

另一個類
  1. 創建一個主要方法。

製成枕方法,它允許的問題將被輸入作爲數組成方法的參數

9.store並檢查答案

  • 打印結果。
  • 在我看來,像它要求做出共有3類和一個主要方法。

    但是,我爲什麼需要這麼多課程感到困惑。在下面給出的Question類中的方法似乎有一些方法可以完成賦值告訴程序員要做的事情,但是這些方法看起來是空的而且沒用。我也對#6-10的計劃開發計劃感到困惑。我不知道如何創建數組來將問題和答案存儲到方法中。

    這裏是在Java教科書已經給出問題的類:

    //******************************************************************** 
        // 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]; 
        } 
    } 
    

    我沒有做的主要方法卻因爲我仍然不知道這些類的發展如何去上班。我很抱歉我在課堂和陣列方面的低技巧,因爲我剛剛學到了它們。我非常感謝你們的幫助。

    對於Quiz類,在第一種方法中,我試圖讓主要方法爲可能存儲在方法內部的問題插入參數。但是我想知道是否有一種更簡單的方法可以將25個測驗問題參數存儲在方法中,如果這甚至是可能的話。我正在嘗試請讓我知道我是否在正確的軌道上。非常感謝你。

    +2

    是運行的代碼?它是否符合您的要求?如果是的話,你是在正確的軌道上。如果沒有,你需要修改代碼直到它。我確信有經驗的開發人員會以不同的方式做到這一點。你自己完成這項任務的部分內容就是有機會在最後回顧它,看看你可以做得更好/更清潔/優雅。 – duffymo

    +0

    程序開發規劃是我在這方面很薄弱的事情。我的問題的一部分是知道有什麼更好的方法可以使它工作。 – Nub

    +0

    如果你不嘗試,你永遠不會學習它。這是對你的問題的另一種解釋:一個具有詳細任務的學生很少或根本沒有試圖讓湯姆索耶別人爲他做他的工作。 – duffymo

    回答

    1

    但我想知道是否有存儲的方法的內部測驗問題25個參數更簡單的方法,如果這是甚至可能

    無需有25測驗問題的參數。這就是爲什麼你需要使用你學校的數組。

    它會是這個樣子:

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

    以任何理由,如果你需要通過一種方法來傳遞你所有的問題,它看起來就像這樣:

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