This program will keep track of win-tied-loss and points earned records for team
ID: 3625336 • Letter: T
Question
This program will keep track of win-tied-loss and points earned records for team. There are 6 teams and each week there are three games (one game per team per week) Enter the team numbers and game scores in an array within the program rather than user typing at command prompt.After reading in each week, the program should print out the win-tied-loss records and points earned for each team. A win is two points, tied game is one point and a loss is zero points. For example:
How many weeks of data: 3
For week 1, game 1, enter the two teams and the score: 0 1 1 4
For week 1, game 2, enter the two teams and the score: 2 3 1 2
For week 1, game 3, enter the two teams and the score: 4 5 2 0
For week 2, game 1, enter the two teams and the score: 0 2 3 0
For week 2, game 2, enter the two teams and the score: 1 4 0 1
For week 2, game 3, enter the two teams and the score: 3 5 4 4
For week 3, game 1, enter the two teams and the score: 0 4 8 7
For week 3, game 2, enter the two teams and the score: 1 5 0 0
For week 3, game 3, enter the two teams and the score: 2 3 6 9
League Standing after 2 weeks:
W T L
Team 0 2 0 1
Team 1 1 1 1
Team 2 0 0 3
Team 3 2 1 0
Team 4 2 0 1
Team 5 0 2 1
Points Table:
Team 3 5
Team 0 4
Team 4 4
Team 1 3
Team 5 2
Team 2 0
Modify to add the winning percentage for each team.
Modify to compute and print for each team the total points scored for and against.
Explanation / Answer
import java.util.*;
public class TeamRecords {
public static void main(String[] args) {
int teams = 6;
System.out.print("How many weeks of data: ");
Scanner sc = new Scanner(System.in);
System.out.println();
int weeks = sc.nextInt();
int[] wins = new int[teams];
int[] ties = new int[teams];
int[] losses = new int[teams];
//Each entry in points is an array with two elements
//the first element is the team and the second element is the points
//This will keep the team associated with the points when we sort the array
int[][] points = new int[teams][2];
for (int i = 0; i<teams; i++) {
points[i][0] = i;
}
int[] pointsFor = new int[teams];
int[] pointsAgainst = new int[teams];
for (int week=1; week <= weeks; week++) {
System.out.println();
for (int game=1; game <= teams/2; game++) {
System.out.print("For week "+week+", game "+game+", enter the two teams and the score: ");
int team1 = sc.nextInt();
int team2 = sc.nextInt();
int score1 = sc.nextInt();
int score2 = sc.nextInt();
if (score1 > score2) {
wins[team1]++;
losses[team2]++;
points[team1][1] += 2;
} else if (score1 < score2) {
wins[team2]++;
losses[team1]++;
points[team2][1] += 2;
} else {
ties[team2]++;
ties[team1]++;
points[team1][1] ++;
points[team2][1] ++;
}
pointsFor[team1] += score1;
pointsFor[team2] += score2;
pointsAgainst[team1] += score2;
pointsAgainst[team2] += score1;
}
}
System.out.println();
System.out.println("League Standing after 2 weeks:");
System.out.println();
System.out.println("W T L");
for (int team=0; team < teams; team++) {
System.out.println("Team "+team+" "+wins[team]+" "+ties[team]+" "+losses[team]);
}
System.out.println();
System.out.println("Points Table:");
// sort the points array in descending order
// based on the number of points earned by each team
// (which is the second element of each int array that makes up the points array)
Arrays.sort(points,new Comparator<int[]>() {
public int compare(int[] o1, int[] o2) {
return (new Integer(o2[1])).compareTo(o1[1]);
}
});
System.out.println();
for (int i=0; i<points.length; i++) {
System.out.println("Team "+points[i][0]+" "+points[i][1]);
}
System.out.println();
System.out.println("Winning percentages: ");
for (int i=0; i<teams; i++) {
System.out.println("Team "+i+" "+(wins[i]*100/(new Float(weeks)))+"%");
}
System.out.println();
System.out.println("Points scored for/against:");
for (int i=0; i<teams; i++) {
System.out.println("Team "+i+" "+pointsFor[i]+"/"+pointsAgainst[i]);
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.