Write a java application that allows the user to read, display, sort, and search the name (type String), height and weight as well as body mass index (BMI) of a person for N people. N should be declared as a constant and should be either equals to the largest digit of your student ID number or N=5 (if the highest digit of your student ID number is less than 5). The method of calculating BMI after input of height and weight is the same as Assignment 1 specification. The name, height, weight and BMI must be stored in separate single dimension arrays/arrayLists. This requires that your implementation must use parallel arrays (or arrayLists). If there are any uses of an array of records or structures/objects, it will be penalized under the heading “Using techniques not covered in the course.” The ranges for height (in unit of cm) and weight (in unit of kg) of a person should be in 100-220, and 0-300 respectively. They are assumed to be integers. These data must be entered from the keyboard and a validation for minimum and maximum values for each input data variable must be done. In addition, the input of a person’s name must be validated in such a way that a valid name is assumed only to contain English letters and a space between first name and surname. An example of an invalid input of name can be shown in the Figure 7 on page 5. Your application should display and execute a menu with the following options. A switch statement must be used to execute the following menu options.
1. Input data
2. Display
3. Sort by name
4. Sort by weight
5. Search
6. Display extreme BMI
7. Exit
The details for each option are described as below.
1. Input data
This option reads each person’s name, height and weight for N people from the keyboard and stores them in separate one-dimension arrays/arraylists. Figure 1 shows a sample input for a personal data. If the input of height or weight exceeds the ranges defined on the last page, then an appropriate message should be displayed and the user should be asked to re-enter a new value. In addition, the input of name also must be validated as required on page 1.
2. Display
This option displays the names, heights, weights and calculated BMI data stored in Arrays/ArrayLists for all people, as shown in Figure 2.
3. Sort by name
When this option is selected, the names of people are sorted in ascending order and this option also displays sorted names with their height, weight, and BMI data, as shown in Figure 3.You can use any sorting algorithm which uses at least two while loops and one if statement. A built-in sort should not be used.
4. Sort by weight
This option sorts the weights in ascending order and displays the corresponding changes of heights,names, and BMI, as shown in Figure 4.
5. Search
When the ‘Search’ option is executed and the user enters a person’s name regardless of the lower case or upper case in the name spelling, then the height, weight and BMI for that person will be displayed as shown in Figure 5 (In this example, the person’s name – bob oconnor is entered). If the entered name doesn’t match any existed one, it will show a warning message.
6. Display extreme BMI
If the user selects this option, the program will calculate and display the minimum value of BMI, maximum value of BMI as well as their corresponding person’s name, as shown in Figure 6.
7. Exit
Selecting ‘Exit’ option will exit the execution of the program.
Figure 4
Program design
You may use any design that meets the specification. However, a good design will adhere to the following guidelines:
• be logically correct
• be easy to read and maintain
• be well-designed
• use UML class diagram
• use following methods and class
public class BMIDataManager
{
public BMIDataManager( ) //constructor
public void displayMenu()
public void inputData()
public void sortByName( )
public void sortByWeight( )
public void search( )
public void displayExtremes( )
private boolean isValidName(String name)
helper methods here if any
public static main(String [ ] args)
{
}
}
Testing
Testing is important. You should:
• list the different types of test cases.
• display the results of each test case.
Serial number |
Unit to be tested |
Criteria of success |
Method used for testing |
Testing results |
1 |
Input data |
Data set in all array lists. |
Enter menu option 1. Enter name, height and weight and calculate BMI for each. |
Pass |
2 |
Display data |
All data display. |
pass |
|
3 |
Sort by name |
Data sorts by name. |
Enter menu option 3. Data sorts by name and display sorted data. |
Pass |
4 |
Sort by weight |
Data sorts by weight. |
Enter menu option 4. Data sorts by weight and display sorted data. |
Pass |
5 |
Search |
Enter name of person for search person’s data |
Enter menu option 5. Enter name of person. |
Pass |
6 |
Display extreme BMI |
Display the data of person which has maximum and minimum BMI value |
Enter menu option 6. Display maximum and minimum BMI value of data of person. |
Pass |
7 |
Exit |
Exit from program |
Enter menu option 7. Exit from program |
Pass |
Essay Writing Service Features
Our Experience
No matter how complex your assignment is, we can find the right professional for your specific task. Contact Essay is an essay writing company that hires only the smartest minds to help you with your projects. Our expertise allows us to provide students with high-quality academic writing, editing & proofreading services.Free Features
Free revision policy
$10Free bibliography & reference
$8Free title page
$8Free formatting
$8How Our Essay Writing Service Works
First, you will need to complete an order form. It's not difficult but, in case there is anything you find not to be clear, you may always call us so that we can guide you through it. On the order form, you will need to include some basic information concerning your order: subject, topic, number of pages, etc. We also encourage our clients to upload any relevant information or sources that will help.
Complete the order formOnce we have all the information and instructions that we need, we select the most suitable writer for your assignment. While everything seems to be clear, the writer, who has complete knowledge of the subject, may need clarification from you. It is at that point that you would receive a call or email from us.
Writer’s assignmentAs soon as the writer has finished, it will be delivered both to the website and to your email address so that you will not miss it. If your deadline is close at hand, we will place a call to you to make sure that you receive the paper on time.
Completing the order and download