Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I am having issues with the following lines of code: 62 - public static void ini

ID: 3696168 • Letter: I

Question

I am having issues with the following lines of code:

62 - public static void initQuestions(Question questionsArray[]) throws IOException

84 - public static void displayQuestion(Question q, int playerNum)
98 - public static void showGameResults(Player[] players)

The errors I am still getting

Line

62

Multiple markers at this line

   - Syntax error, insert ";" to complete

     LocalVariableDeclarationStatement

   - Syntax error on token "(", ; expected

   - void is an invalid type for the variable initQuestions

84

Multiple markers at this line

   - Syntax error on token ")", ;

     expected

   - Syntax error on token ",", ;

     expected

   - Syntax error on token "(", ;

     expected

98

Multiple markers at this line

   - Syntax error on token "(", ;

     expected

   - Syntax error on token ")", ;

     expected

the complete code from my program:

import java.io.File;

import java.io.IOException;

import java.util.Scanner;

public class TriviaDriver {

  

   public static void main(String args[]) throws IOException

   {

       // Constants

       final int NUM_QUESTIONS = 10;

       final int NUM_PLAYERS = 2;

      

       // Variables

       int playerTurn = 1;

       int questionNum;

       int playerAnswer;

       int player1points = 0;

       int player2points = 0;

      

       //array of Player objects for player #1 and player #2.

       Player[] players = new Player[NUM_PLAYERS];

       //player for loop

       for (int i = 0; i < NUM_PLAYERS; i++)

       {

           players[i] = new Player(i+1);

       }

       // array to hold questions

       Question[] questions = new Question[NUM_QUESTIONS];

       initQuestions(questions);

              

               // Play the game.

               for (int i = 0; i < NUM_QUESTIONS; i++)

               {

  

   {

       //print the Trivia object question

       Object[] questionsArray;

       TriviaDriver.displayQuestion(questionsArray[i], playerTurn);

      

       //prompt user for answer

       players[playerTurn - 1].chooseAnswer();

      

       if(((Question) questionsArray[i]).getCorrectAnswerNumber() == players[playerTurn - 1].getCurrentAnswer())

          

       {   //increment score

           players[playerTurn - 1].incrementPoint();

       }

  

       if(playerTurn == 1)

           playerTurn = 2;

       else

           playerTurn = 1;

   }

  

       //show results

   showGameResults(players);

  

   /* the initQuestions method uses contents of trivia.text file to populate aArray

   */

   public static void initQuestions(Question questionsArray[]) throws IOException

   {

       //open trivia file

       File file = new File("trivia.txt");

       Scanner inputFile = new Scanner(file);

      

       //fill the qArray

       for(int i = 0; i <questionsArray.length; i++)

       {

           qArray[i] = new Question();

          

           qArray[i].setQuestion(inputFile.nextLine());

          

           for(int j = 1; j<= 4; j++)

           {

               qArray[i].setPossibleAnswer(inputFile.nextLine(),j);

           }

           //get right answer

           qArray[i].setCorrectAnswerNumber(Integer.parseInt(inputFile.nextLine()));

       }

           }

          

       public static void displayQuestion(Question q, int playerNum)

       {

           //show player number

           System.out.println("Question for player" + playerNum);

           System.out.println("----------------");

          

           //show the question

           System.out.println(q.getQuestionText());

           for(int i = 1; i<=4; i++)

           {

               System.out.println(i + ". " + q.getPossibleAnswer(i));

           }

       }

      

       public static void showGameResults(Player[] players)

       {

           //show the points

           System.out.println("End of game");

           System.out.println("----------------");

           System.out.println("Player 1's points: " + players[0].getPoints());

           System.out.println("Player 2's points: " + players[1].getPoints());

          

           //who won the game??

          

           if(players[0].getPoints() > players[1].getPoints())

               System.out.println("Player 1 is the winner");

           else if(players[0].getPoints() < players[1].getPoints())

               System.out.println("Player 2 is the winner");

           else

               System.out.println("You tied");

          

           }

          

          

       }

       }

   private static void showGameResults(Player[] players) {

       // TODO Auto-generated method stub

      

   }

   private static void displayQuestion(Object object, int playerTurn) {

       // TODO Auto-generated method stub

      

   }

   private static void initQuestions(Question[] questions) {

       // TODO Auto-generated method stub

      

   }

   }

Explanation / Answer

Hi, I have modified your code. It is working now.

TriviaDriver.java


import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class TriviaDriver {

  
public static void main(String args[]) throws IOException
{
// Constants
final int NUM_QUESTIONS = 10;
final int NUM_PLAYERS = 2;
  
// Variables
int playerTurn = 1;
int questionNum;   
int playerAnswer;
int player1points = 0;
int player2points = 0;
  
//array of Player objects for player #1 and player #2.
Player[] players = new Player[NUM_PLAYERS];
//player for loop
for (int i = 0; i < NUM_PLAYERS; i++)
{
players[i] = new Player(i+1);
}

// array to hold questions
Question[] questions = new Question[NUM_QUESTIONS];
initQuestions(questions);
  
// Play the game.
for (int i = 0; i < NUM_QUESTIONS; i++)
{

  
{
//print the Trivia object question
Object[] questionsArray;
TriviaDriver.displayQuestion(questionsArray[i], playerTurn);
  
//prompt user for answer
players[playerTurn - 1].chooseAnswer();
  
if(((Question) questionsArray[i]).getCorrectAnswerNumber() == players[playerTurn - 1].getCurrentAnswer())
  
{ //increment score
players[playerTurn - 1].incrementPoint();
}
  
if(playerTurn == 1)
playerTurn = 2;
else
playerTurn = 1;
}
  
//show results
showGameResults(players);

}

} //main close
/* the initQuestions method uses contents of trivia.text file to populate aArray
*/
public static void initQuestions(Question questionsArray[]) throws IOException
{

//open trivia file
File file = new File("trivia.txt");
Scanner inputFile = new Scanner(file);
  
//fill the qArray
for(int i = 0; i <questionsArray.length; i++)
{
qArray[i] = new Question();
  
qArray[i].setQuestion(inputFile.nextLine());
  
for(int j = 1; j<= 4; j++)
{
qArray[i].setPossibleAnswer(inputFile.nextLine(),j);
}
//get right answer
qArray[i].setCorrectAnswerNumber(Integer.parseInt(inputFile.nextLine()));
}
}
  
public static void displayQuestion(Question q, int playerNum)
{

//show player number
System.out.println("Question for player" + playerNum);
System.out.println("----------------");
  
//show the question
System.out.println(q.getQuestionText());
for(int i = 1; i<=4; i++)
{
System.out.println(i + ". " + q.getPossibleAnswer(i));
}
}
  
public static void showGameResults(Player[] players)
{

//show the points
System.out.println("End of game");
System.out.println("----------------");
System.out.println("Player 1's points: " + players[0].getPoints());
System.out.println("Player 2's points: " + players[1].getPoints());
  
//who won the game??
  
if(players[0].getPoints() > players[1].getPoints())
System.out.println("Player 1 is the winner");
else if(players[0].getPoints() < players[1].getPoints())
System.out.println("Player 2 is the winner");
else
System.out.println("You tied");
  
}
} // class end

The changes what i did here is, removed all three methods from mail() method and places them outside of main method and with in class. You can not implement methods() with in anther methods().