Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

C# C# Objects Methods Method Overloading

need help c#

pls help

Frog.cs
using System;

namespace Treehouse.CodeChallenges
{
    class Frog
    {
        public readonly int TongueLength;
        //TongueLength tongueLength = new TongueLength(5);

        public readonly int ReactionTime;// = Frog.ReactionTime;

       /* public Frog(int reactionTime, int tongueLength)
        {
            ReactionTime = reactionTime;
            TongueLength = tongueLength;
        } */

        public Frog(int tongueLength, int reactionTime)
        {
            ReactionTime = reactionTime;
            TongueLength = tongueLength;
        }

        public bool EatFly(int distanceToFly)
        {
            return TongueLength >= distanceToFly;

        }



    }
}
Tim Strand
Tim Strand
22,458 Points

You need to clarify what you need help on. At this point it just seems like you are saying please complete this exercise for me. You need to define what you are struggling with so the community can try to help you understand it.

1 Answer

Dave Harker
PLUS
Dave Harker
Courses Plus Student 15,510 Points

Hi Amze Radx,

Task 1: Appears that is fine (new readonly variable)

public readonly int ReactionTime;

Task 2: Appears that is fine (change Frog constructor, add new assignment)

public Frog(int tongueLength, int reactionTime)
{
    TongueLength = tongueLength;
    ReactionTime = reactionTime;
}

Task 3: Ok so this is where you're having some issues I take it.

Add another method named EatFly that takes two integer parameters and returns a boolean value. Name the parameters distanceToFly and flyReactionTime. Return true if the frog’s tongue is longer (i.e. greater) or equal to than the distance to the fly and its reaction time is faster (i.e. less) or equal to than the fly’s reaction time.

Let's break it down :)

  • Add another method named EatFly that takes two integer parameters.
    So we're going to have an overloaded method here - same method name, different argument signature.
public bool EatFly(int distanceToFly, int flyReactionTime)
{
    // we will add a return when we get into the guts of this method shortly.
}
  • Return true if frog's tongue (TongueLength) is greater than or equal to the distance to fly (distanceToFly) AND frog's reaction time (ReactionTime) is less than or equal to the fly's reaction time (flyReactionTime)
  1. TongueLength >= distanceToFly &&
  2. ReactionTime <= flyReactionTime

So let's put all that together:

if(TongueLength >= distanceToFly && ReactionTime <= flyReactionTime)
{
    return true; // if conditions are met we return true
} else return false; // if they are not we return false

Now you just need to piece it all together. I hope that helps you out :)
Great effort Amze! Keep it up,

Dave

Dave Harker
Dave Harker
Courses Plus Student 15,510 Points

Amze Radx - You can mark the question solved by choosing a "Best Answer".
And happy coding!