Hi Im having an error when I compile my code Its this constr

Hi, I\'m having an error when I compile my code.

It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types;
   AthleteManagement athleteRecord1 = new AthleteManagement();
   ^
required: ArrayList<Athlete>
found: no arguments
reason: actual and formal argument lists differ in length
C:\\Users\\Jake\\OneDrive\\CSE 205 Folder\\Assignment8.java:83: error: cannot find symbol
int athleteCount = athleteRecord1.countHowManyAthletesHaveMedals(medalType);
^
symbol: method countHowManyAthletesHaveMedals(int)
location: variable athleteRecord1 of type AthleteManagement
2 errors

The code:

//Assignment8

import java.io.*;
import java.util.*;

public class Assignment8
{
public static void main (String[] args) throws FileNotFoundException, IOException
{
char input1;
String firstName, lastName, sport;
int gold, silver, bronze = 0;
boolean operation = false;
int operation2 = 0;
String line;
String filename;

//Creates a AthleteManagement object. This is used throughout this class.
   AthleteManagement athleteRecord1 = new AthleteManagement();

try
{
// print out the menu
printMenu();

// create a BufferedReader object to read input from a keyboard
InputStreamReader isr = new InputStreamReader (System.in);
BufferedReader stdin = new BufferedReader (isr);

do
{
System.out.print(\"What action would you like to perform?\ \");
line = stdin.readLine().trim(); //read a line
input1 = line.charAt(0);
input1 = Character.toUpperCase(input1);

if (line.length() == 1) //check if a user entered only one character
{
switch (input1)
{
case \'A\': //Add Athlete
try
{
System.out.print(\"Please enter the following information of an athlete:\ \");
System.out.print(\"First Name:\ \");
firstName = stdin.readLine().trim();
System.out.print(\"Last Name:\ \");
lastName = stdin.readLine().trim();
System.out.print(\"Sport:\ \");
sport = stdin.readLine().trim();
System.out.print(\"The number of gold medals\ \");
gold = Integer.parseInt(stdin.readLine().trim());
System.out.print(\"The number of silver medals\ \");
silver = Integer.parseInt(stdin.readLine().trim());
System.out.print(\"The number of bronze medals\ \");
bronze = Integer.parseInt(stdin.readLine().trim());

operation = athleteRecord1.addAthlete(firstName,lastName,sport,gold,silver,bronze);
if (operation == true)
System.out.print(\"athlete added\ \");
else
System.out.print(\"athlete exists\ \");
}
/************************************************************************************
*** Complete the follwing catch statement
***********************************************************************************/
catch(IOException | NumberFormatException exception)
{
                   System.out.println(\"Exception occured:\" + exception);
}
break;
case \'D\': //Count athletes by medal type
try
{
System.out.print(\"Please enter a medal type, 0 for gold, 1 for silver, 2 for bronze, to count the athletes with such medal:\ \");
int medalType = Integer.parseInt(stdin.readLine().trim());
int athleteCount = athleteRecord1.countHowManyAthletesHaveMedals(medalType);

System.out.print(\"The number of athletes with the given medal type: \" + athleteCount + \"\ \");
}
catch(IOException | NumberFormatException e)
{
                   System.out.println(e);
}
break;
case \'E\': //Search by athlete name
System.out.print(\"Please enter the first and last names of an athlete to search:\ \");
System.out.print(\"First Name:\ \");
firstName = stdin.readLine().trim();
System.out.print(\"Last Name:\ \");
lastName = stdin.readLine().trim();
operation2=athleteRecord1.athleteNameExists(firstName, lastName);

if (operation2 > -1)
System.out.print(\"athlete found\ \");
else
System.out.print(\"athlete not found\ \");
break;
case \'L\': //List athletes
System.out.print(athleteRecord1.listAthletes());
break;
case \'O\': // Sort by athlete names
athleteRecord1.sortByAthleteNames();
System.out.print(\"sorted by athlete names\ \");
break;
case \'P\': // Sort by medal counts
athleteRecord1.sortByMedalCounts();
System.out.print(\"sorted by medal counts\ \");
break;
case \'Q\': //Quit
break;
case \'R\': //Remove by athlete names
System.out.print(\"Please enter the first and last names of an athlete to remove:\ \");
System.out.print(\"First Name:\ \");
firstName = stdin.readLine().trim();
System.out.print(\"Last Name:\ \");
lastName = stdin.readLine().trim();
operation=athleteRecord1.removeAthleteByName(firstName, lastName);

if (operation == true)
System.out.print(\"athlete removed\ \");
else
System.out.print(\"athlete not found\ \");
break;
case \'T\': //Close AthleteManagement
athleteRecord1.closeAthleteManagement();
System.out.print(\"athlete management system closed\ \");
break;
case \'U\': //Write Text to a File
System.out.print(\"Please enter a file name to write:\ \");
filename = stdin.readLine().trim();
try
   {
                           FileWriter fw = new FileWriter(filename, operation);
                           System.out.println(\"Please enter a string to write into the file:\");
                           Scanner input = new Scanner(System.in);
                           line = input.nextLine();
                           fw.write(line);

                       }
                           catch(Exception e)
                           {
                               System.out.println(e);
                           }
break;
case \'V\': //Read Text from a File
System.out.print(\"Please enter a file name to read:\ \");
filename = stdin.readLine().trim();
BufferedReader br;
                       try
                       {
                       Scanner infile = new Scanner(new FileReader(filename));
                       line = infile.nextLine();
                       System.out.println(\"The first line of the file is:\" + line);
                   }
                   catch(Exception e)
                       {
                       System.out.println(e);
                }
break;
case \'W\': //Serialize AthleteManagement to a File
System.out.print(\"Please enter a file name to write:\ \");
filename = stdin.readLine().trim();
   try
       {
                               try(FileOutputStream fileOut = new FileOutputStream(filename))
                                   {
                                       ObjectOutputStream out = new ObjectOutputStream(fileOut);
                                       out.writeObject(athleteRecord1);
                                       out.close();
                                   }
                           }
                       catch(IOException e)
                           {
                               System.out.println(e);
                           }
break;
case \'X\': //Deserialize AthleteManagement from a File
System.out.print(\"Please enter a file name to read:\ \");
filename = stdin.readLine().trim();
AthleteManagement athleteRecord = null;
                       try
                           {
                               FileInputStream fileIn = new FileInputStream(filename);
                               ObjectInputStream in = new ObjectInputStream(fileIn);
                               athleteRecord = (AthleteManagement) in.readObject();
                               in.close();
                               fileIn.close();
                           }
                       catch(IOException i)
                           {
                               System.out.println(i);
                               return;
                           }
                       catch(ClassNotFoundException c)
                           {
                               System.out.println(\"AthleteManagement class not found\");
                               System.out.println(c);
                               return;
                           }

                   System.out.println(\"AthleteManagement object...\");
                   System.out.println(athleteRecord.toString());
break; case \'?\': //Display Menu
printMenu();
break;
default:
System.out.print(\"Unknown action\ \");
break;
}
}
else
{
System.out.print(\"Unknown action\ \");
}
} while (input1 != \'Q\' || line.length() != 1);
}
catch (IOException exception)
{
System.out.print(\"IO Exception\ \");
}
}

/** The method printMenu displays the menu to a user **/
public static void printMenu()
{
System.out.print(\"Choice\\t\\tAction\ \" +
\"------\\t\\t------\ \" +
\"A\\t\\tAdd Athlete\ \" +
\"D\\t\\tCount Athletes for Medal Type\ \" +
\"E\\t\\tSearch for Athlete Name\ \" +
\"L\\t\\tList Athletes\ \" +
\"O\\t\\tSort by Athlete Names\ \" +
\"P\\t\\tSort by Medal Counts\ \" +
\"Q\\t\\tQuit\ \" +
\"R\\t\\tRemove by Athlete Name\ \" +
\"T\\t\\tClose AthleteManagement\ \" +
\"U\\t\\tWrite Text to File\ \" +
\"V\\t\\tRead Text from File\ \" +
\"W\\t\\tSerialize AthleteManagement to File\ \" +
\"X\\t\\tDeserialize AthleteManagement from File\ \" +
\"?\\t\\tDisplay Help\ \ \");
}
} // end of Assignment8 class

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

//AthleteManagement.java

import java.util.*;
import java.io.*;

//AthleteManagement class implements the Serializable interface
public class AthleteManagement implements Serializable
{
   private ArrayList<Athlete> athleteList;
   public AthleteManagement(ArrayList<Athlete> athleteList)
   {
   this.athleteList = athleteList;
}

   int athleteNameExists(String firstName, String lastName)
   {
       for (int i = 0; i < athleteList.size(); i++) {
           Athlete athlete = (Athlete) athleteList.get(i);
           if (firstName.equals(athlete.getFirstName()) && lastName.equals(athlete.getLastName()))
           {
               return i;
           }
       }
       return -1;
   }

   int countHowManyAthleteHaveMedals(int medalType)
   {
       int count = 0;
       for (int i = 0; i < athleteList.size(); i++)
       {
           Athlete athlete = athleteList.get(i);
           if (medalType == 0 && athlete.getGold() > 0)
           {
               count += 1;
           } else if (medalType == 1 && athlete.getSilver() > 0)
           {
               count += 1;
           } else if (medalType == 2 && athlete.getBronze() > 0)
           {
               count += 1;
           }
       }
       return count;
   }

   public boolean addAthlete(String firstName, String lastName, String sport, int gold, int silver, int bronze)
   {
       int result = athleteNameExists(firstName, lastName);
       if (result < 0)
       {
           Athlete athletes = new Athlete(firstName, lastName, sport, gold, silver, bronze);
           athletes.setSport(sport);
           athletes.setFirstName(firstName);
           athletes.setLastName(lastName);
           athletes.setBronze(bronze);
           athletes.setSilver(silver);
           athletes.setGold(gold);
           this.athleteList.add(athletes);
           return true;
       }
       return false;
   }

   public boolean removeAthleteByName(String firstName, String lastName)
   {
       int index = athleteNameExists(firstName, lastName);
       if (index > 0)
       {
           athleteList.remove(index);
           return true;
       }
       return false;
   }

   public void sortByAthleteNames()
   {
       new Sorts().sort(this.athleteList, new AthleteNameComparator());
   }

   public void sortByMedalCounts()
   {
       new Sorts().sort(this.athleteList, (Comparator<Athlete>) new MedalCountComparator());
   }

   public String listAthletes()
   {
       String athletes = \"\ no athlete\ \ \";
       if (athleteList.size() < 0)
           return athletes;
       StringBuilder stb = new StringBuilder();
       for (int i = 0; i < athleteList.size(); i++)
       {
           Athlete althlete = (Athlete) athleteList.get(i);
           stb.append(althlete.toString());
       }
       return stb.toString();
   }

   public void closeAthleteManagement()
   {
       this.athleteList.clear();
   }
}

//////////////////////////////////////////////////////////////////////////////

//MedalCountComparator.java

import java.util.*;

public class MedalCountComparator implements Comparator<Athlete>
{
   public int compare(Athlete first, Athlete second)
   {
       //The 1st athlete has more gold medals than the 2nd athlete.
       if (first.getGold() > second.getGold())

           return -1;
       //The 2nd athlete has more gold medals than the 1st athlete.
       else if (first.getGold() < second.getGold())

           return 1;
       //Both athletes gold medals were equal, now its comparing
       //their silver medals to see who has more.
       else
       {
           //The 1st athlete has more silver medals than the 2nd athlete.
           if (first.getSilver() > second.getSilver())

               return -1;
           //The 2nd athlete has more silver medals than the 1st athlete.
           else if (first.getSilver() < second.getSilver())

               return 1;
           //Both athletes silver medals are equal, now its comparing
           //their bronze medals to see who has more.
           else
           {
               //The 1st athlete has more bronze medals than the 2nd athlete
               if (first.getBronze() > second.getBronze())

                   return -1;
               //The 2nd athlete has more bronze medals than the 1st athlete.
               else if (first.getBronze() < second.getBronze())

                   return 1;
               //Both the athletes have the same amount of all medals
               else
                   return 0;
           }
       }
   }
}

/////////////////////////////////////////////////////////////////////////////////

//Sorts.java

import java.util.*;
import java.io.*;

public class Sorts
{
   public static void sort(ArrayList<Athlete> Athletes, Comparator<Athlete> Comparator)
   {
       //Sorts the array that was entered in by the user
       Collections.sort(Athletes, Comparator);

       //Prints the array
       for (int i = 0; i < Athletes.size(); i++)
       {
           System.out.println(Athletes.get(i));
       }
   }
}

///////////////////////////////////////////////////////////////////////////////////

//AthleteNameComparator.java

import java.util.*;

public class AthleteNameComparator implements Comparator<Athlete>
{
   public int compare(Athlete first, Athlete second)
   {
       //The 1st athlete has a shorter last name than the 2nd athlete
       if (first.getLastName().compareToIgnoreCase(second.getLastName()) < 0)

           return -1;
       //The 1st athlete has a longer last name than the 2nd athlete
       else if (first.getLastName().compareToIgnoreCase(second.getLastName()) > 0)

           return 1;
       //The 1st athlete has a shorter first name than the 2nd athlete
       else if (first.getFirstName().compareToIgnoreCase(second.getFirstName()) < 0)

           return -1;
       //The 1st athlete has a longer first name than the 2nd athlete
       else if (first.getFirstName().compareToIgnoreCase(second.getFirstName()) < 0)

           return 1;

       else

           return 0;
   }
}

///////////////////////////////////////////////////////////////////////////////////////////////

//Athlete.java

import java.util.*;

public class Athlete implements java.io.Serializable
{
private String firstName, lastName;
private String sport;
private int gold, silver, bronze;

//Constructor to initialize all member variables
public Athlete(String firstName, String lastName, String sport,
    int bronze, int silver, int gold)
{
super();
firstName = \"?\";
lastName = \"?\";
sport = \"?\";
gold = 0;
silver = 0;
bronze = 0;
}

//Accessor methods
public String getFirstName()
{
return firstName;
}

public String getLastName()
{
return lastName;
}

public String getSport()
{
return sport;
}

public int getGold()
{
return gold;
}

public int getSilver()
{
return silver;
}

public int getBronze()
{
return bronze;
}


//Mutator methods
public void setFirstName(String first)
{
firstName = first;
}

public void setLastName(String last)
{
lastName = last;
}

public void setSport(String someSport)
{
sport = someSport;
}

public void setGold(int count)
{
gold = count;
}

public void setSilver(int count)
{
silver = count;
}

public void setBronze(int count)
{
bronze = count;
}

//toString() method returns a string containg information of an athlete
public String toString()
{
String result = \"Name:\\t\" + lastName + \",\" + firstName + \"\ \"
+ \"Sport:\\t\" + sport + \"\ \"
+ \"Medal Count:\ \"
+ \"Gold: \" + gold + \"\ \"
+ \"Silver: \" + silver + \"\ \"
+ \"Bronze: \" + bronze + \"\ \ \";
return result;
}
}

//////////////////////////////////////////////////////////////////////////////////////////////

Program Description

Class Diagram:

Solution


Hi In your \"AthleteManagement\" Class, you have defined only one constructor:


public class AthleteManagement implements Serializable
{
private ArrayList<Athlete> athleteList;

// constructor that takes ArrayList of Athlete
public AthleteManagement(ArrayList<Athlete> athleteList)
{
this.athleteList = athleteList;
}

/* other stuff */

}

So, you can not create AthleteManagement class Object using this line:
   AthleteManagement athleteRecord1 = new AthleteManagement();

Otherwise firt define a constructor that does not take an argument. Like this:
public class AthleteManagement implements Serializable
{
private ArrayList<Athlete> athleteList;

// constructor that does not takes arguments
public AthleteManagement()
{

       // add your stuff
}

// constructor that takes ArrayList of Athlete
public AthleteManagement(ArrayList<Athlete> athleteList)
{
this.athleteList = athleteList;
}

/* other stuff */

}

Hi, I\'m having an error when I compile my code. It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types; AthleteM
Hi, I\'m having an error when I compile my code. It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types; AthleteM
Hi, I\'m having an error when I compile my code. It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types; AthleteM
Hi, I\'m having an error when I compile my code. It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types; AthleteM
Hi, I\'m having an error when I compile my code. It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types; AthleteM
Hi, I\'m having an error when I compile my code. It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types; AthleteM
Hi, I\'m having an error when I compile my code. It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types; AthleteM
Hi, I\'m having an error when I compile my code. It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types; AthleteM
Hi, I\'m having an error when I compile my code. It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types; AthleteM
Hi, I\'m having an error when I compile my code. It\'s this: constructor AthleteManagement in class AthleteManagement cannot be applied to given types; AthleteM

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site