You will code, build, and execute two programs requiring arrays and ArrayLists. The first program will determine statistics for a video game tournament. The second program will alphabetize a list of last names.

Tournament Stats

Your mission: Write a program to determine statistics for a video game tournament. The user will input names and scores of all tournament players. The program will calculate the average score and display the players who scored below average.

The program will implement these functions:

Main(): Declares variables for the number of players and average score, and two arrays of size 100: one to store player names and the other to store their respective scores. Calls the following functions in sequence, passing necessary parameters by reference:

  • InputData( ): Gets player names and scores from the user and stores them into the two arrays for an unknown number of players up to 100.
  • DisplayPlayerData(): Displays each player's name and score.
  • CalculateAverageScore( ): Calculates the average score and returns it by value.
  • DisplayBelowAverage( ): Displays the names and scores of players who scored below average.

Sample output:

Enter Player Name (Q to quit): Bob

Enter score for Bob: 3245

Enter Player Name (Q to quit): Sue

Enter score for Sue: 1098

Enter Player Name (Q to quit): Dave

Enter score for Dave: 8219

Enter Player Name (Q to quit): Pat

Enter score for Pat: 3217

Enter Player Name (Q to quit): Q
Name Score

Bob 3245

Sue 1098

Dave 8219

Pat 3217
Average Score: 3944.75
Players who scored below average

Name Score

Bob 3245

Sue 1098

Pat 3217

Press any key to continue . . .

Best practices: Don't try to write too much at a time! First, write an outline in comments based on the requirements and the pseudocode. Then, implement each function one at a time. Start each by writing a shell that just accepts data and perhaps prints it out for testing purposes. Test by calling the function from Main(). Then, add more functionality. Keep working incrementally, compiling and testing as you go. Set breakpoints and use the debugger at each phase to make sure your logic is working correctly. Then, use the same approach to implement each of the other functions.

Pseudocode

  • Main Function
    • Declare player and score arrays, and variables for number of players and average score.
    • Call the InputData( ) function, passing arrays and number of players variable by reference
    • Call the DisplayPlayerData( ) function, passing arrays and number of players variable by reference
    • Call the CalculateAverageScore( ) function, passing arrays and number of players by reference. Store returned value in average variable
    • Display the average score
    • Call the DisplayBelowAverage( ) function, passing arrays and number of players variable by reference, passing average variable by value
  • InputData function
    • Loop while the number of players is less than the length of the array
    • Prompt for the player's name
    • If the user entered Q, break out of the loop
    • Prompt the user for the player's score
    • Add 1 to the number of players
  • DisplayPlayerData function
    • Loop to display the name and score of each player
  • CalculateAverageScore function
    • Loop to add up the scores
    • Divide by the number of players to calculate the average score
    • Return the average score to main
  • DisplayBelowAverage function
    • Loop to display the names and scores of all players who scored below the average score

Alphabetical Order

Your mission: Write a program to alphabetize a list of last names. The user will input an undetermined number of last names. The program will display the number of names entered and alphabetized lists of the names in ascending (A-Z) and descending (Z-A) order.

Your program will store the names in an ArrayList object. It will use various ArrayList properties and methods to implement the program requirements.

Sample output:

Enter a last name: Roberts
Keep going? (Y/N): y
Enter a last name: DeLay
Keep going? (Y/N): y
Enter a last name: Foreman
Keep going? (Y/N): y
Enter a last name: Ganguly
Keep going? (Y/N): n
4 last names entered

Names in Ascending Order

DeLay
Foreman
Ganguly
Names in Descending Order

Roberts
Ganguly
Foreman
DeLay

Best practices: Don't try to write too much at a time! First, write an outline in comments based on the requirements and the pseudocode. Then, work on instantiating an ArrayList object, followed by implementing the loop that will get user input. As always, keep things simple and implement incrementally. Review the list of ArrayList methods and properties in the textbook and experiment with the ones you think you'll need.

Pseudocode

  • Main function
  • Instantiate ArrayList object
  • Loop to get last names, until user wants to quit
    • Add each last name to the ArrayList
  • Display the count of the last names
  • Sort the ArrayList
  • Loop to display the names
  • Reverse the order of the ArrayList
  • Loop to display the names
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.