10 Replies - 5079 Views - Last Post: 26 October 2010 - 03:49 PM Rate Topic: -----

#1 jmsutton334  Icon User is offline

  • D.I.C Head

Reputation: 0
  • View blog
  • Posts: 56
  • Joined: 25-October 10

Having problems coming up with these methods! Please HELP!

Posted 25 October 2010 - 11:08 AM

getTeamSize: returns the number of runners that are currently on the team.

getmostReliableRunner: takes an int representing the gender and an int representing the race parameters and returns the most reliable runner of that gender in that particular race type based on the standard deviation.

getStandardDeviation: Need to be able to get the Standard Deviation of a set of numbers that are stored in a file. (Dont really know how to call that file either.. )

PLEASE HELP I AM KIND OF LOST ON THESE 3 METHODS!!!!!

THANKYOU!

Is This A Good Question/Topic? 0
  • +

Replies To: Having problems coming up with these methods! Please HELP!

#2 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10647
  • View blog
  • Posts: 39,539
  • Joined: 27-December 08

Re: Having problems coming up with these methods! Please HELP!

Posted 25 October 2010 - 05:04 PM

Quote

getTeamSize: returns the number of runners that are currently on the team.

This is probably associate with your Team class, which has an instance variable representing the Team size or the number of runners. Your getter method should simply return that variable.

Quote

getmostReliableRunner: takes an int representing the gender and an int representing the race parameters and returns the most reliable runner of that gender in that particular race type based on the standard deviation.

If I had to guess, there is a Tournament/Competition class that you are using which has some sort of Collection associating Teams with the Races they are in. The int params you pass are to be used to help narrow down which Race and Runners to look at. See the documentation for the Collection being used for more information on which methods to invoke.

Quote

getStandardDeviation: Need to be able to get the Standard Deviation of a set of numbers that are stored in a file. (Dont really know how to call that file either.. )

There are plenty of formulas to calculate Standard Deviation on the internet. As for File I/O, check out the DIC Tutorials Section.

Hopefully this will help get you started some. We are happy to help more, provided you show us your good faith efforts at implementing solutions to these problems. Don't forget to specifically describe your problems or errors. :)
Was This Post Helpful? 1
  • +
  • -

#3 jmsutton334  Icon User is offline

  • D.I.C Head

Reputation: 0
  • View blog
  • Posts: 56
  • Joined: 25-October 10

Re: Having problems coming up with these methods! Please HELP!

Posted 26 October 2010 - 12:08 PM

Ok so far i have got this..... Will you look over this and maybe make corrections where they are needed....

Thank you so much you are awesome!!!!

public double getStandardDeviation(int raceTypeIn)
      {
         double average = 0.0;
         double total = 0.0;
         double deviation;
         double sumOfSquares = 0.0;
         double variance;
         
               
         if (raceTypeIn == METER100)
         {
         		
            for (int i = 0; i <time100.length; i++)
            {
               total += time100[i];
               average = total / time100.length;
            }
         }
         		
         else if (raceTypeIn == METER200)
         {
            for (int i = 0; i < time200.length; i++)
            {
            
               variance = sumOfSquares / (time200.length - 1); // variance is deviatio squared.
               deviation = Math.sqrt(variance); // deviation = Standard Deviation.
            }
         }
         		
         else 
         {
            total = -1.0;
         }
         return total;
      }




public Runner getMostReliableRunner(int genderIn, int raceTypeIn)
      {
         gender = genderIn;
         raceType = raceTypeIn;
      }




public void loadFromFile(String fileNameIn) throws IOException 
      { 
         File f = new File(fileNameIn); 
         String name; 
         int gender; 
         Scanner scan = new Scanner(f); 
         String line = scan.nextLine(); 
         String[] splitLine = line.split(", "); 
         double[] times = new double[5]; 
         Runner r; 
         int counter = 0; 
      
         if (runners[0] != null) 
         { 
            for (int i = 0; i < runners.length; i++) 
            { 
               runners[i] = null; 
            } 
         } 
      
         if (scan.hasNext()) 
         { 
            name = splitLine[0]; 
         
            if (splitLine[1] == "f") 
            { 
               gender = Runner.FEMALE; 
            } 
            
            else 
            { 
               gender = Runner.MALE; 
            } 
            r = new Runner(name, gender); 
         
            for (int i = 0; i < 5; i++) 
            { 
               times[i] = Double.parseDouble(splitLine[2 + i]); 
            } 
            r.setTimes(Runner.METER100, times); 
         
            for (int i = 0; i < 5; i++) 
            { 
               times[i] = Double.parseDouble(splitLine[7 + i]); 
            } 
         
            r.setTimes(Runner.METER200, times); 
            runners[counter] = r; 
            counter++; 
         } 
      }



Edited by macosxnerd101: Please, :code:.
Was This Post Helpful? 0
  • +
  • -

#4 NeoTifa  Icon User is offline

  • Whorediot
  • member icon





Reputation: 2728
  • View blog
  • Posts: 15,804
  • Joined: 24-September 08

Re: Having problems coming up with these methods! Please HELP!

Posted 26 October 2010 - 12:57 PM

:code:

Does it output the answers as you've written out by hand? Because, you know, when doing math in Java, you should do a couple of sample tests by hand to verify the correct answer.
Was This Post Helpful? 0
  • +
  • -

#5 jmsutton334  Icon User is offline

  • D.I.C Head

Reputation: 0
  • View blog
  • Posts: 56
  • Joined: 25-October 10

Re: Having problems coming up with these methods! Please HELP!

Posted 26 October 2010 - 01:13 PM

Yes i have and it seems to be ok.....
Was This Post Helpful? 0
  • +
  • -

#6 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10647
  • View blog
  • Posts: 39,539
  • Joined: 27-December 08

Re: Having problems coming up with these methods! Please HELP!

Posted 26 October 2010 - 01:22 PM

In this method, you need to return a Runner. You simply modify the instance variables to match the values of the parameters. You need to perform a search on the given Race, find the matching Runner, and return it.
public Runner getMostReliableRunner(int genderIn, int raceTypeIn) 


Was This Post Helpful? 0
  • +
  • -

#7 jmsutton334  Icon User is offline

  • D.I.C Head

Reputation: 0
  • View blog
  • Posts: 56
  • Joined: 25-October 10

Re: Having problems coming up with these methods! Please HELP!

Posted 26 October 2010 - 01:30 PM

ok i got this..... can one of you maybe help me re write it into a simpler form....
less complex....

Thanks.


public Runner getMostReliableRunner(int genderIn, int raceTypeIn)
      {
         Runner mostReliable;
         double deviation = 100.0;
         if (runners[0] != null) 
         { 
            mostReliable = runners[0]; 
            for (int i = 0; i < runners.length; i++) 
            { 
               if (runners[i].getGender() == genderIn) 
               { 
                  if (runners[i].getStandardDeviation(raceTypeIn) < deviation) 
                  { 
                     mostReliable = runners[i]; 
                     deviation = runners[i].getStandardDeviation(raceTypeIn); 
                  } 
               } 
            } 
            return mostReliable;
         }
         else {
            return null;
         }
      }



Edited by macosxnerd101: Added code tags. Please use them in the future.
Was This Post Helpful? 0
  • +
  • -

#8 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10647
  • View blog
  • Posts: 39,539
  • Joined: 27-December 08

Re: Having problems coming up with these methods! Please HELP!

Posted 26 October 2010 - 02:37 PM

No need to calculate standard deviation twice. Store the result of the first call into a variable, and use that variable to compare with.
int tempDev = runners[i].getStandardDeviation(raceTypeIn);
if(tempDev < deviation){
    mostReliable = runners[i];
    deviation = tempDev;
}


Was This Post Helpful? 0
  • +
  • -

#9 jmsutton334  Icon User is offline

  • D.I.C Head

Reputation: 0
  • View blog
  • Posts: 56
  • Joined: 25-October 10

Re: Having problems coming up with these methods! Please HELP!

Posted 26 October 2010 - 03:00 PM

Dude, you do not know how much i appreciate this help.... all this is due at 10 tonight so i will be doing this until then....

Have any suggestions for this method?



public Runner selectCompetitor(int genderIn,
int raceTypeIn, double targetTime)
{
Runner bestCompetitor;
double time = 0.0;

if (ran[0] != null)
{
bestCompetitor = ran[0];
for (int i = 0; i < ran.length; i++)
{

if (ran[i].getGender() == genderIn)
{

if (ran[i].getAverageTime(raceTypeIn) < targetTime
&& ran[i].getAverageTime(raceTypeIn) > time)
{

bestCompetitor = ran[i];
time = ran[i].getAverageTime(raceTypeIn);
}
}
}
return bestCompetitor;
}

else
{
return null;
}
}
Was This Post Helpful? 0
  • +
  • -

#10 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10647
  • View blog
  • Posts: 39,539
  • Joined: 27-December 08

Re: Having problems coming up with these methods! Please HELP!

Posted 26 October 2010 - 03:21 PM

Yes- please use code tags as I have asked multiple times. It makes it much easier for us to read your code. You can use the EDIT button on your post to add them. :)

Code tags: :code:.
Was This Post Helpful? 0
  • +
  • -

#11 jmsutton334  Icon User is offline

  • D.I.C Head

Reputation: 0
  • View blog
  • Posts: 56
  • Joined: 25-October 10

Re: Having problems coming up with these methods! Please HELP!

Posted 26 October 2010 - 03:49 PM

This is my last method!!!!!

If there is any way to put this into a much simpler form and a way to maybe shorten it up can you please help!!!
THIS IS IT !!!! THANKS!!!

I also could not find the edit button..... my brain is also fried because I have been doing this for almost 9 hrs now, I am very sorry for that. :)





 public void loadFromFile(String fileNameIn) throws IOException 
      { 
         File f = new File(fileNameIn);
         String name; 
         int gender;
         double[] times = new double[5]; 
         Runner r; 
         int counter = 0; 
      
         if (f.exists()) {   
            Scanner scan = new Scanner(f); 
            if (runners[0] != null) 
            { 
               for (int i = 0; i < runners.length; i++) 
               { 
                  runners[i] = null; 
               } 
            } 
            
            teamName = scan.nextLine();
            
            while (scan.hasNext()) 
            { 
               runners[counter] = new Runner("", 0);
               
               String line = scan.nextLine(); 
               String[] splitLine = line.split(","); 
               
               name = splitLine[0];
               runners[counter].setName(name); 
            
               if (splitLine[1].equals("f")) 
               { 
                  gender = Runner.FEMALE; 
               } 
               else 
               { 
                  gender = Runner.MALE; 
               } 
            
               r = new Runner(name, gender); 
            
               for (int i = 0; i < 5; i++) 
               { 
                  times[i] = Double.parseDouble(splitLine[2 + i]); 
               } 
               r.setTimes(Runner.METER100, times);
             
               for (int i = 0; i < 5; i++) 
               { 
                  times[i] = Double.parseDouble(splitLine[7 + i]); 
               } 
               r.setTimes(Runner.METER200, times); 
               runners[counter] = r; 
               counter++; 
            } 
         }
      } 
      
   /**
   *Gets the most reliable runner based on deviation.
   *@param genderIn Gender of runner
   *@param raceTypeIn Race type
   *@return mostReliable Most reliable runner
   */
      public Runner getMostReliableRunner(int genderIn, int raceTypeIn)
      {
         Runner mostReliable;
         double deviation = 100.0;
         if (runners[0] != null) 
         { 
            mostReliable = runners[0]; 
            for (int i = 0; i < runners.length; i++) 
            { 
               if (runners[i].getGender() == genderIn) 
               { 
                  if (runners[i].getStandardDeviation(raceTypeIn) < deviation) 
                  { 
                     mostReliable = runners[i]; 
                     deviation = runners[i].getStandardDeviation(raceTypeIn); 
                  } 
               } 
            } 
            return mostReliable;
         }
         else {
            return null;
         }
      }



didnt mean to post the getMostReliable runner method again just ignore that one!!
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1