2017-06-16 9 views
-1

私はランダムに選ばれた5つの質問を表示するGUIを持っています。質問の制限は、次の質問ボタンが押された回数によって制限されます。ユーザーが5つの質問を終了すると、プログラムを再起動する新しいラウンド開始ボタンを押すようにします。
このようなことは一度もありませんでした。私が見たコードでは、どのように動作するのか理解できません。ここでJbuttonからプログラムとランダムな質問を再起動

は私のコードです:すべてはここに動作しますが、私は助けてください再起動ボタン/コード

int nextQuestionClicked;//For number of times next question is clicked 

//Method to generate random questions 
private String setQuestions(){ 
    int match = (int) Math.floor(Math.random()*cities.size()); 
    String whatCity = cities.get(match); 
    String displayCity = "Where is " + whatCity + " located?"; 
    return displayCity; 
    } 

//What happens when next question is pressed 
private void displayQuestionActionPerformed(java.awt.event.ActionEvent evt) {             
    boolean trueOrFalse; 

    submitButton.setEnabled(true); 

    displayQuestion.setEnabled(false); 

    outputTextQuestion.setText(null); 
    outputTextQuestion.setText(setQuestions()); 
    outputAnswers.setText(null);   
    inputAnswer.setText(null);  
    outputDegree.setText(null); 

    nextQuestionClicked++; 

    int buttonLimit = 4; 

    if (nextQuestionClicked <= buttonLimit) 
    { 

     int correctAnswer = -1; 

     for (int x = 0; x < cities.size(); x++) 
     { 
      if (trueOrFalse = outputTextQuestion.getText().contains(cities.get(x))) 
      { 
       correctAnswer = x; 
       break; 
      } 
     } 
     randomAnswers = new ArrayList <Integer>(); 
     Collections.addAll(randomAnswers, correctAnswer); 

     for (int x=0; x < 3; x++) 
     { 
      int r = correctAnswer; 
      while (randomAnswers.contains(r)) 
      { 
       r = ((int)(Math.random()*100))%cities.size(); 

      } 
      Collections.addAll(randomAnswers, r); 
     } 

     Collections.shuffle(randomAnswers); 
     outputAnswers.setText(null); 

     for (int r=0; r<randomAnswers.size(); r++) 
     { 
      int hint = randomAnswers.get(r); 
      outputAnswers.append(provinces.get(hint) + "\n"); 
     } 

     inputAnswer.requestFocus(); 
} 

    else{ 
     displayQuestion.setEnabled(false); 
     submitButton.setEnabled(false); 
     newRound.setEnabled(true); 
     outputTextQuestion.setText("Start New Round!!"); 
     outputDegree.setText(null); 
     } 
} 

private void newRoundActionPerformed(java.awt.event.ActionEvent evt) {           
    outputTextQuestion.setText(null); 
    displayQuestion.setEnabled(true); 
    submitButton.setEnabled(false); 
//What code do I do here to restart the program? 
} 

を追加する必要があります!

ありがとうございます!

+3

だから、あなたが私たちを求めていますあなたのためのコードを書く?これはコーディングサービスではありません... – ItamarG3

+0

* "私が見たコードはどういう仕組みか分かりません" *読者には、私たちが提供するコードを理解できないという印象を与えます。だから、なぜ誰かが助けようとしているのだろうか?あなたが見た例にリンクし、あなたが理解していないことを説明してください。何かを試して、あなたが立ち往生して実際の質問があるときに私達に戻ってきてください(そしてそれを具体的にする)。一般的なアドバイス:より早い時期に役立つようにするには、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)に投稿してください。 –

答えて

1

はこのような何かを試してみてください:

private void newRoundActionPerformed(java.awt.event.ActionEvent evt) {           
    nextQuestionClicked = 0; 
    displayQuestionActionPerformed(evt); 
} 

あなたの代わりに最初の質問の他の何かを表示したい場合は、代わりにdisplayQuestionActionPerformed()のいくつかの他のコードを追加することができます...

+0

ありがとうございます! –

関連する問題