In: Computer Science
Create a program in java using the following information:
Trainers at Tom's Athletic Club are encouraged to enroll new members. Write an application that extracts the names of Trainers and groups them based on the number of new members each trainer has enrolled this year. Output is the number of trainers who have enrolled 0 to 5 members, 6 to 12 members, 13 to 20 members, and more than 20 members. Give their names as well as the number of members they have enrolled.
Use this list of trainers:
{"Jake Butt", "Ziggy Hood", "Hroniss Grasu", "Vontaze Burfict",
"Jaquiski Tartt",
"Ndamukong Suh", "Thurston Armbrister", "Captain Munnerlyn",
"Barkevious Mingo", "Ha Ha Clinton-Dix",
"Mister Alexander", "BenJarvus Green-Ellis", "Richie Incognito",
"Champ Bailey", "Captain Munnerlyn",
"Mike Kafka", "Ras-I Dowling", "Bryan Anger", "D'Brickashaw
Ferguson", "Rex Hadnot",
"Sage Rosenfels", "Robert Griffin III", "Sav Rocca", "Chad
Ochocinco", "Brett Rypien"
}
Use this list of the number of members each trainer has enrolled:
{3, 9, 13, 26, 23,
19, 15, 13, 17, 8,
2, 3, 5, 7, 11,
18, 12, 14, 20, 16,
4, 6, 10, 1, 0
}
example output:
This program grades the trainer's enrollment.
Those who enrolled from,...
0 to 5 - 7 trainers
Jake Butt(3), Mister Alexander(2), BenJarvus Green-Ellis(3), Richie
Incognito(5), Sage Rosenfels(4), Chad Ochocinco(1), Brett
Rypien(0)
6 to 12 - 7 trainers
Ziggy Hood(9), Ha Ha Clinton-Dix(8), Champ Bailey(7), Captain
Munnerlyn(11), Ras-I Dowling(12), Robert Griffin III(6), Sav
Rocca(10)
13 to 20 - 9 trainers
Hroniss Grasu(13), Ndamukong Suh(19), Thurston Armbrister(15),
Captain Munnerlyn(13), Barkevious Mingo(17), Mike Kafka(18), Bryan
Anger(14), D'Brickashaw Ferguson(20), Rex Hadnot(16)
...over 20 - 2 trainers
Vontaze Burfict(26), Jaquiski Tartt(23)
End of job
an approach:
Create "buckets" to represent the enrollment groupings. The "buckets" can be implemented by using additional parallel arrays (like the master list - one array for the trainer, another for their enrollment).
After examining each item in the master list of trainers, they can be placed in one of the subset "buckets" (both the the trainer's name and the number of people they have enrolled). After walking through the master list, the trainers and their enrolled will be distributed among the "buckets".
The output is formed by simply extracting the information from the appropriated "bucket".
import java.util.*;
public class example {
public static void main(String[] args) {
String[] trainer = {"Jake Butt", "Ziggy Hood",
"Hroniss Grasu", "Vontaze Burfict", "Jaquiski Tartt",
"Ndamukong Suh",
"Thurston Armbrister", "Captain Munnerlyn", "Barkevious Mingo", "Ha
Ha Clinton-Dix",
"Mister
Alexander", "BenJarvus Green-Ellis", "Richie Incognito", "Champ
Bailey", "Captain Munnerlyn",
"Mike Kafka",
"Ras-I Dowling", "Bryan Anger", "D'Brickashaw Ferguson", "Rex
Hadnot",
"Sage
Rosenfels", "Robert Griffin III", "Sav Rocca", "Chad Ochocinco",
"Brett Rypien"};
int[]enrollment = {3, 9, 13, 26, 23,
19, 15, 13, 17,
8,
2, 3, 5, 7,
11,
18, 12, 14, 20,
16,
4, 6, 10, 1,
0};
ArrayList<bucket> zeroTo5 = new
ArrayList<>();
ArrayList<bucket> sixTo12 = new
ArrayList<>();
ArrayList<bucket> thirteenTo20 = new
ArrayList<>();
ArrayList<bucket> moreThan20 = new
ArrayList<>();
for(int i=0;i<enrollment.length;i++) {
bucket tmp = new
bucket(trainer[i],enrollment[i]);
if(enrollment[i]<=5) {
zeroTo5.add(tmp);
}
else if(enrollment[i]<=12)
{
sixTo12.add(tmp);
}
else if(enrollment[i]<=20)
{
thirteenTo20.add(tmp);
}
else {
moreThan20.add(tmp);
}
}
//0 to 5 trainers
System.out.println("0 to 5 - "+zeroTo5.size()+"
trainers");
for(int i=0;i<zeroTo5.size();i++) {
if(i == zeroTo5.size()-1) {
System.out.print(zeroTo5.get(i).name
+"("+zeroTo5.get(i).enrollment+")");
break;
}
System.out.print(zeroTo5.get(i).name
+"("+zeroTo5.get(i).enrollment+"), ");
}
System.out.println();
//6 to 12 trainers
System.out.println("6 to 12 - "+sixTo12.size()+"
trainers");
for(int i=0;i<sixTo12.size();i++) {
if(i == sixTo12.size()-1) {
System.out.print(sixTo12.get(i).name
+"("+sixTo12.get(i).enrollment+")");
break;
}
System.out.print(sixTo12.get(i).name
+"("+sixTo12.get(i).enrollment+"), ");
}
System.out.println();
//13 to 20 trainers
System.out.println("13 to 20 - "+thirteenTo20.size()+"
trainers");
for(int i=0;i<thirteenTo20.size();i++) {
if(i == thirteenTo20.size()-1)
{
System.out.print(thirteenTo20.get(i).name
+"("+thirteenTo20.get(i).enrollment+")");
break;
}
System.out.print(thirteenTo20.get(i).name
+"("+thirteenTo20.get(i).enrollment+"), ");
}
System.out.println();
//over 20 trainers
System.out.println("over 20 - "+moreThan20.size()+"
trainers");
for(int i=0;i<moreThan20.size();i++) {
if(i == moreThan20.size()-1)
{
System.out.print(moreThan20.get(i).name
+"("+moreThan20.get(i).enrollment+")");
break;
}
System.out.print(moreThan20.get(i).name
+"("+moreThan20.get(i).enrollment+"), ");
}
System.out.println();
}
}
class bucket{
String name;
int enrollment;
public bucket(String name, int enrollment) {
this.name = name;
this.enrollment = enrollment;
}
}