Problem:
You have been asked to develop a report of National Football League (NFL) passing and receiving statistics. Quarterbacks and wide receivers have some information in common, but other information is specific to their position. The report should be formatted similar to the report shown below:

NFL 2012 Passing/Receiving Statistics

Quarterbacks

Player Team Comp Att Pct Yds Yds/A Yds/G
Brady, Tom NE 401 552 67.2 4,295 7.78 268
Brees, Drew NO 422 670 63.0 5,177 7.73 251
Rothlisberger, Ben PIT 284 449 63.3 3,265 7.27 251

Wide Receivers

Player Team Rec Yds Avg Yds/G
Johnson, Calvin DET 122 1,964 16.1 122.8
Thomas, Demaryius DEN 94 4,434 15.3 89.6
Wayne, Reggie IND 106 1,355 12.8 84.7


A single text file named nfl.txt holds all of the data with two different record formats. All records begin with the same 5 fields:
First Name
Last Name
Team
Position

If the player is a quarterback (position = QB), the record includes the 3 additional fields:
Completions
Attempts
Yards

If the player is a wide receiver (position = WR), the record includes the 2 additional fields:
Receptions
Yards


Develop a superclass, Player, and 2 subclasses, Quarterback and Receiver.

For each record in the statistics file, instantiate the appropriate object, Quarterback or Receiver, and add it to an array of Player objects. Once the file has been read, produce a report in the format above using two passes through the array of Player objects, first for quarterback and then for receivers. For quarterbacks, you must calculate the following columnar data:
Pct = ratio of Completions to Attempts
Yds/A = average yards per attempt
Yds/G = average yards per game (assume 16 games in a season)

For receivers, you must calculate the following columnar data:
Avg = average yards per reception
Yds/G = average yards per game (assume 16 games in a season)

The user is not required to provide any input.



My code so far:
public class Nfl {

private String fname;
private String lname;
private String team;
private String pos;

public Nfl()
{
super(); // constructor of Object superclass
this.fname = "unknown";
this.lname = "unknown";
this.team = "unknown";
this.pos = "unknown";
}
public Nfl(String fname, String lname, String team, String pos)
{
super(); // constructor of Object superclass
this.fname = fname;
this.lname = lname;
this.team = team;
this.pos = pos;

}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
@Override
public String toString()
{
return;
}
}



public class QuarterBacks extends Nfl {

private String
private String akc;

public QuarterBacks()
{
super(); // constructor
}

public QuarterBacks()
{
super(); //constructor
this.akc = akc;
}

@Override
public String toString()
{
return;
}

public String getAkc()
{
return akc;
}
}


public class WideReceivers extends Nfl{

private String Distemper;

public WideReceivers()
{
super(); // Player constructor
}

public WideReceivers()
{
super(); // Player constructor
this.Distemper = fd;
}

public String Distemper()
{
return Distemper;
}
}


import java.util.*;
import java.io.*; // needed for File class

public class Prog6
{
public static void main(String[] args)
{
String Nfl;
String QuarterBack;
String WideReceivers;

Scanner inFile = null;

//open file
try
{
inFile = new Scanner( new File( "nfl.txt" ) );
}
catch( FileNotFoundException e )
{
System.err.println( "Error: File nfl.txt not found" );
}

// read file
try
{
System.out.printf( "%-8s %3s %8s\n", "Part#", "Qty", "Price" );
while ( inFile.hasNext() )
{
Nfl = inFile.next();
QuarterBack = inFile.next();
WideReceivers = inFile.next();
System.out.printf( "%-8s %3d %8.2f\n", Nfl, QuarterBack, WideReceivers );
}
}
catch( Exception e )
{
System.err.println( "File error " + e.getMessage() );
}

// close file
inFile.close();
}
}