letsdoitjava

Fantasy Football

Jul 14th, 2019
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.68 KB | None | 0 0
  1. package fantasy_football;
  2. import java.util.Scanner;
  3.  
  4. public class FantasyFootball {
  5.     private int numberOfTeams; // Same as teamAverage.length.
  6.     private int numberOfWeeks; // Same as weekAverage.length.
  7.     private int[][] scores; //numberOfTeams rows and numberOfWeeks columns.
  8.     private double[] weekAverage; // contains an entry for each week
  9.     private double[] teamAverage; // contains an entry for each team
  10.     private String[] teamName; // contains an entry for each team
  11.     public void enterInData( )
  12.     {
  13.         Scanner keyboard = new Scanner(System.in);
  14.  
  15.         System.out.println("Enter number of teams:");
  16.         numberOfTeams = keyboard.nextInt( );
  17.  
  18.         System.out.println("Enter number of weeks:");
  19.         numberOfWeeks = keyboard.nextInt( );
  20.  
  21.         // Allocate array memory for teamName to store the team names.
  22.         teamName = new String[numberOfTeams];
  23.  
  24.         // Allocate array memory for scores (2 dimensional array) to store a score for each team for each week.
  25.         scores = new int[numberOfTeams][numberOfWeeks];
  26.  
  27.         for (int team = 0; team < numberOfTeams; team++)
  28.         {
  29.             System.out.println("Enter team name");
  30.  
  31.             // Read in Team name and store it in teamName
  32.             teamName[team] = keyboard.next();
  33.  
  34.             for (int week = 0; week < numberOfWeeks; week++)
  35.             {
  36.                 System.out.print("Enter score for team "+ teamName[team]);
  37.  
  38.                 System.out.println(" on week number " + ( week + 1 ));
  39.  
  40.                 // Read in a score and store it in the proper spot in the scores array
  41.                 scores[team][week] = keyboard.nextInt();
  42.             }
  43.         }
  44.         keyboard.close();
  45.     }
  46.  
  47.     public void fillTeamAverage( )
  48.     {  
  49.         // Allocate memory for the teamAverage.
  50.         teamAverage=new double[numberOfTeams];
  51.  
  52.         for (int team = 0; team < numberOfTeams; team++)
  53.         {
  54.             teamAverage[team] = 0;
  55.  
  56.             for (int week = 0; week < numberOfWeeks; week++)
  57.             {
  58.                 teamAverage[team] += scores[team][week];
  59.             }
  60.             // Each entry in this array will contain the average weekly score for a given team.
  61.             teamAverage[team] /= numberOfWeeks;
  62.         }
  63.     }
  64.  
  65.     public void fillWeekAverage( )
  66.     {
  67.         // Allocate memory for the weekAverage instance variable.
  68.         weekAverage = new double[numberOfWeeks];
  69.  
  70.         for (int week = 0; week < numberOfWeeks; week++)
  71.         {
  72.             weekAverage[week] = 0;
  73.  
  74.             for (int team = 0; team < numberOfTeams; team++)
  75.             {
  76.                 weekAverage[week] += scores[team][week];
  77.             }
  78.             // Each entry in this array will contain the average of all teams for a given week
  79.             weekAverage[week] /= numberOfTeams;
  80.         }
  81.     }
  82.     // This method will print out the display that was shown above.
  83.  
  84.     // At this point all of the information can be found in the private instance variables of the FantasyFootball class
  85.  
  86.     public void display( )
  87.     {
  88.         System.out.printf("%-20s", "Team Name");
  89.  
  90.         for (int week = 1; week <= numberOfWeeks; week++)
  91.         {
  92.             System.out.printf("%8s %d", "Week", week);
  93.         }
  94.  
  95.         for (int team = 0; team < numberOfTeams; team++)
  96.         {
  97.             System.out.printf("\n%-20s", teamName[team]);
  98.             // Note: if I used {} with this for statement the line up was wrong
  99.             for (int week = 0; week < numberOfWeeks; week++)
  100.                 System.out.printf("%10d", scores[team][week]);
  101.             System.out.printf("%16s", "Ave =");
  102.             System.out.printf("%-10d", (int) teamAverage[team]);
  103.         }
  104.         System.out.printf("\n%-20s", "Weekly Ave:");
  105.  
  106.         for (int week = 0; week < numberOfWeeks; week++)
  107.         {
  108.             System.out.printf("%10d", (int) weekAverage[week]);
  109.         }
  110.     }
  111.    
  112.     public static void main(String[] args) {
  113.  
  114.         FantasyFootball f = new FantasyFootball();
  115.         f.enterInData();
  116.         f.fillTeamAverage();
  117.         f.fillWeekAverage();
  118.  
  119.         f.display();
  120.     }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment