MemosYou are to design, implement and test a memo entry and your program must to store up to a maximum of 3 memos. A memo is stored as a single String composed of the following information: date, representing the date the memo was recorded; priority, a value between 1 and 5; category, which must be either “Personal” or “Business”; subject, which cannot be empty or blank; description, which cannot be empty or blank. The details of each memo must be validated. (An empty String contains nothing at all.  A blank string contains all spaces.).A memo can be displayed to screen as follows:Date : 20/3/2006 Priority: 1 Category : Personal
Subject : Sport
Description : Must watch Commonwealth Games 5000mSee Appendix A for code showing you how to obtain the current date that you can use in your assignment.Program FunctionalityWhen the user starts up their PDA they will be presented with the following screen. The program will return to displaying this screen on the completion of a particular option until the user chooses to close the PDA:             Welcome to your PDA!                                  Memos
             1. Add Memo
             2. Show Memos
             3. Close
             Please enter your choice :If the user enters an invalid menu choice they will be asked to re-enter a valid choice:                        Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice : 4
Invalid input - please try again!If the input is valid but, for example, there are no memos or the maximum number of memos the program can store has been already reached, appropriate responses will be displayed:                        Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice : 2
No memos to view!                       Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice : 1
Maximum number of memos already entered!If the user chooses to add a memo, and the program has room for more memos, they will be asked to enter the details of the memo as follows:                         Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice : 1
Please enter a priority: 1 - 5 : 3
Please enter the category: Personal - P or Business - B : B
Please enter a subject : Assignment
Please enter a description : Must check deadline submissionAfter a memo is added, if there is room to store another memo the user will be asked if they want to store another memo as follows:
                    
                        Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice : 1
Please enter a priority: 1 - 5 : 3
Please enter the category: Personal - P or Business - B : B
Please enter a subject : Assignment
Please enter a description : Must check deadline submission
            Do you want to add another memo - y/n? yIf the user chose yes, as above, they will be asked to enter the details of another memo.If, after entering the details of a memo, the maximum number of memos has been reached the user will be informed of this and the program will return to displaying the main menu.
  
                        Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice : 1
Please enter a priority: 1 - 5 : 3
Please enter the category: Personal - P or Business - B : B
Please enter a subject : Assignment
Please enter a description : Must check deadline submission
Maximum number of memos already entered! Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice :If, on entering the details of a memo, the user enters information that does not satisfy the validation requirements previously outlined, an appropriate error message will be displayed and the user will be asked to re-enter the information until it is valid:           
                        Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice : 1
Please enter a priority: 1 - 5 : 6
Invalid input - try again
Please enter a priority: 1 - 5 : 2
Please enter the category: Personal - P or Business - B : B
Please enter a subject : 
Subject cannot be blank - try again
Please enter a subject : Sport
Please enter a description : 
Description cannot be blank - try again
Please enter a description : Must NEVER try marathon running If the user chooses option 2, and there are memos to view, they will be shown all the existing memos in the program. For example, if there were 2 memos stored and the user chose option 2, the program would display the following:                        Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice : 2 Date : 20/3/2006 Priority: 3 Category : Business
Subject : Contract negotiations
Description : Meeting with Bill G re s'ware Date : 20/3/2006 Priority: 1 Category : Personal
Subject : Sport
Description : Must watch Comm Games 5000m                        Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice :If the user chooses option 3, to close the program, the will be shown the following message and the program will terminate:
                                               Memos
1. Add Memo
2. Show Memos
3. Close
Please enter your choice : 3

            Goodbye from your PDA!  Appendix A – Obtaining the date from the CalendarAt the start of the Java file where you want to access the Calendar, put:
import java.util.Calendar;  then insert the following getDate method immediately after the last method in your PDA, and call it when you need the date:
public String getDate()
{     
    Calendar calendar = Calendar.getInstance();  
    int day = calendar.get(Calendar.DAY_OF_MONTH); 
    int month = calendar.get(Calendar.MONTH) + 1; 
    int year = calendar.get(Calendar.YEAR); 
    String date = day + "/" + month + "/" + year;
    return date;
}