Assessment topic: Java applications
This is practical assignment covering programming concepts taught from week 1 – 9. You should submit all your class file on Moodle with .java extension in a single Zip/rar folder.
Question 1: Java Fundamentals (5 points) You are organising a 21st birthday party for your best friend. You have booked a venue at Darling Harbour that will charge $60 per guest. The venue will also charge you a $200 fee if there are less than 40 guests. You invite 50 people to the birthday party. 37 people tell you they are planning to attend and 5 people tell you they cannot attend the party. Write a program that displays the following information: * The number of people who have not yet told you if they can attend the party. * The number of people that need to advise you they can attend, so that you don’t need to pay the extra $200 fee. * Calculate and print the total cost of the party given the current number of people who have told you they can attend the party. * Calculate and print the total cost of the party if all the people who have not replied to the party invitation yet can come.
Question 2: Nested loops (5 points) At the party, the DJ allows the guests to vote for their favourite songs, and the last song of the party is the most popular song. The DJ will give a list of five songs to ten random guests and ask them to choose their favourite song. The song which receives the most votes will be the most popular song. If there is more than one song which receives the most votes, then any of the most popular songs can be played as the final song of the night. Write a program that will complete the following tasks: * Show each of the 10 users user a list of all the five songs and ask them to choose their favourite. * Store the votes for the songs in an array, where the first element of the array in the number of votes for the first song, and so on. * Determine the most popular song. * Print out the most popular song and the number of votes for the most popular song. If more than one song is voted the most popular, then any of them may be printed out.
Question 3: 2D Arrays (5 points) The DJ for the party needs to calculate some information about their planned song playlist for the party. Write a program to input the number of minutes and the number of seconds for each of the songs in the planned song playlist. The program should first ask for the number of songs in the planned song playlist. The program will ask for two numbers for each song, which is the number of minutes and the number of seconds. For example, a song that plays for two minutes and 30 seconds can be input as 2 and 30. ICT102 INTRODUCTION TO PROGRAMMING T319 31/10/2019 16:59 PAGE 10 OF 15 *AUSTRALIAN INSTITUTE OF BUSINESS AND MANAGEMENT PTY LTD © ABN: 72 132 629 979 CRICOS 03171A Approved by KOI Academic Board for T3 2019 ICT102 The program should print out the total playing time for all the songs, displayed as a number of minutes and seconds. Remember there are 60 seconds in a minute.
Question 4: Strings (5 points) Write a program that asks for two parallel arrays of String objects. One of the arrays will hold the first names of the guests, and the other array will hold the last names of the guests. The guests will be allocated to sit at a table at the party. Some of the guests will be seated at a special birthday table with your friend whose birthday you are celebrating. Those with a first name that starts with the same letter as the first name of your birthday friend will be sitting at the special birthday table. Write a program that will complete the following tasks: * Ask the user for the number of guests to be seated. * Ask for the first name of the person having the birthday. * Ask the user for the first and last names of each guest, and store them in two parallel arrays. * Print out the names of those sitting at the special birthday table. Print the first names in lowercase, and the last names in uppercase. Marking Guide: Students will be marked according to the implementation of the basic concepts covered in this subject. Some elements are of critical importance, and failure to identify and address these properly will result in low marks.