In: Computer Science
Program: Soccer team roster
This program will store roster and rating information for a soccer team. Coaches rate players during tryouts to ensure a balanced team.
(1) Prompt the user to input five pairs of numbers: A player's
jersey number (0 - 99) and the player's rating (1 - 9). Store the
jersey numbers in one int array and the ratings in another int
array. Output these arrays (i.e., output the roster). (3 pts)
Ex:
Enter player 1's jersey number:
84
Enter player 1's rating:
7
Enter player 2's jersey number:
23
Enter player 2's rating:
4
Enter player 3's jersey number:
4
Enter player 3's rating:
5
Enter player 4's jersey number:
30
Enter player 4's rating:
2
Enter player 5's jersey number:
66
Enter player 5's rating:
9
ROSTER
Player 1 -- Jersey number: 84, Rating: 7
Player 2 -- Jersey number: 23, Rating: 4
...
(2) Implement a menu of options for a user to modify the roster.
Each option is represented by a single character. The program
initially outputs the menu, and outputs the menu after a user
chooses an option. The program ends when the user chooses the
option to Quit. For this step, the other options do nothing. (2
pt)
Ex:
MENU
u - Update player rating
a - Output players above a rating
r - Replace player
o - Output roster
q - Quit
Choose an option:
(3) Implement the "Output roster" menu option. (1 pt)
Ex:
ROSTER
Player 1 -- Jersey number: 84, Rating: 7
Player 2 -- Jersey number: 23, Rating: 4
...
(4) Implement the "Update player rating" menu option. Prompt the
user for a player's jersey number. Prompt again for a new rating
for the player, and then change that player's rating. (1 pt)
Ex:
Enter a jersey number:
23
Enter a new rating for player:
6
...
(5) Implement the "Output players above a rating" menu option.
Prompt the user for a rating. Print the jersey number and rating
for all players with ratings above the entered value. (2 pts)
Ex:
Enter a rating:
5
ABOVE 5
Player 1 -- Jersey number: 84, Rating: 7
...
(6) Implement the "Replace player" menu option. Prompt the user
for the jersey number of the player to replace. If the player is in
the roster, then prompt again for a new jersey number and rating.
Update the replaced player's jersey number and rating. (2
pts)
Ex:
Enter a jersey number:
4
Enter a new jersey number:
12
Enter a rating for the new player:
8
SOLVE IN JAVA
import java.util.*;
import java.util.stream.IntStream;
public class Soccer {
public static void main(String[] args) {
// TODO Auto-generated method
stub
Scanner scan=new
Scanner(System.in);
//Intialising two arrays to length
of 5
try {
int[] jersey=new int[5];
int[] ratings=new int[5];
for(int i=0;i<5;i++) {
System.out.println("Enter player "+String.valueOf(i+1)+"'s jersey
number:");
jersey[i]=scan.nextInt();
while(jersey[i]<0 || jersey[i]>99) {
System.out.println("Enter jersey number range
from 0 to 99");
System.out.println("Enter player
"+String.valueOf(i+1)+"'s jersey number again:");
jersey[i]=scan.nextInt();
}
System.out.println("Enter player "+String.valueOf(i+1)+"'s
rating:");
ratings[i]=scan.nextInt();
while(ratings[i]<1 || ratings[i]>9) {
System.out.println("Enter ratings range from 1
to 9");
System.out.println("Enter player
"+String.valueOf(i+1)+"'s rating again:");
ratings[i]=scan.nextInt();
}
}
for(int i=0;i<5;i++)
System.out.println("Player "+String.valueOf(i+1)+" -- Jersey
number: "+String.valueOf(jersey[i])+", Rating:
"+String.valueOf(ratings[i]));
while(true) {
char ch;
int
number,index,value,count=0,valueJersey;
System.out.println("MENU\nu - Update player rating\na - Output
players above a rating\nr - Replace player\no - Output roster\nq -
Quit");
System.out.println("Enter the option to be performed: ");
ch=scan.next().charAt(0);
if(ch=='u')
{
System.out.println("Enter jersey
number:");
number=scan.nextInt();
//Finding value in the array using
intstream
index=IntStream.range(0, 5)
.filter(i ->
number == jersey[i])
.findFirst() //
first occurrence
.orElse(-1);
if(index==-1)
System.out.println("Jersey
number is not found");
else {
System.out.println("Enter a
new rating for player:");
value=scan.nextInt();
ratings[index]=value;
}
}
else if(ch=='o')
{
for(int i=0;i<5;i++)
System.out.println("Player
"+String.valueOf(i+1)+" -- Jersey number:
"+String.valueOf(jersey[i])+", Rating:
"+String.valueOf(ratings[i]));
}
else if(ch=='a')
{
System.out.println("Enter a rating:");
value=scan.nextInt();
System.out.println("ABOVE
"+String.valueOf(value));
for(int i=0;i<5;i++) {
if(ratings[i]>value)
{
System.out.println("Player "+String.valueOf(count+1)+" -- Jersey
number: "+String.valueOf(jersey[i])+", Rating:
"+String.valueOf(ratings[i]));
count=count+1;
}
}
}
else if(ch=='r')
{
System.out.println("Enter a jersey
number:");
number=scan.nextInt();
index=IntStream.range(0, 5)
.filter(i ->
number == jersey[i])
.findFirst() //
first occurrence
.orElse(-1);
if(index==-1)
System.out.println("Jersey
number is not found");
else {
System.out.println("Enter a
new jersey number:");
valueJersey=scan.nextInt();
System.out.println("Enter a
rating for the new player less than 9:");
value=scan.nextInt();
jersey[index]=valueJersey;
ratings[index]=value;
}
}
else if(ch=='q')
{
System.out.println("Program is
terminated");
break;
}
else {
System.out.println("Enter correct character
which is in menu");
}
}
}
catch(Exception
InputMismatchException) {
System.out.println("Error: Enter only numbers.");
}
}
}
Sample input and sample output:
Enter player 1's jersey number:
1
Enter player 1's rating:
1
Enter player 2's jersey number:
2
Enter player 2's rating:
2
Enter player 3's jersey number:
3
Enter player 3's rating:
3
Enter player 4's jersey number:
4
Enter player 4's rating:
4
Enter player 5's jersey number:
5
Enter player 5's rating:
5
Player 1 -- Jersey number: 1, Rating: 1
Player 2 -- Jersey number: 2, Rating: 2
Player 3 -- Jersey number: 3, Rating: 3
Player 4 -- Jersey number: 4, Rating: 4
Player 5 -- Jersey number: 5, Rating: 5
MENU
u - Update player rating
a - Output players above a rating
r - Replace player
o - Output roster
q - Quit
Enter the option to be performed:
f
Enter correct character which is in menu
MENU
u - Update player rating
a - Output players above a rating
r - Replace player
o - Output roster
q - Quit
Enter the option to be performed:
o
Player 1 -- Jersey number: 1, Rating: 1
Player 2 -- Jersey number: 2, Rating: 2
Player 3 -- Jersey number: 3, Rating: 3
Player 4 -- Jersey number: 4, Rating: 4
Player 5 -- Jersey number: 5, Rating: 5
MENU
u - Update player rating
a - Output players above a rating
r - Replace player
o - Output roster
q - Quit
Enter the option to be performed:
a
Enter a rating:
3
ABOVE 3
Player 1 -- Jersey number: 4, Rating: 4
Player 2 -- Jersey number: 5, Rating: 5
MENU
u - Update player rating
a - Output players above a rating
r - Replace player
o - Output roster
q - Quit
Enter the option to be performed:
q
Program is terminated