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 trialKoray Erkan
1,235 PointsWhy this code doesn't work? I couldn't handle it.
It gives error when I try to compile the code. I tried adding an else statement to return false but it didn't work either. Can you see where is the mistake? Thank you inadvance.
namespace Treehouse.CodeChallenges
{
class SequenceDetector
{
public virtual bool Scan(int[] sequence)
{
return true;
}
}
}
namespace Treehouse.CodeChallenges
{
class RepeatDetector : SequenceDetector
{
public override bool Scan (int[] sequence)
{
for (int i = 0; i <= (sequence.Length); i++)
{
if (sequence[i+1] == sequence[i])
{
return true;
}
}
return false;
}
}
}
Steven Parker
231,198 PointsLowercase "length" is not an array property.
1 Answer
Steven Parker
231,198 PointsYour loop is running more times than you have elements.
For a normal iteration of all elements, you would stop before you reach the length ("<
" instead of "<=
"). But in this case, since you're adding to the index in your comparison, you need to stop at one less than that.
Koray Erkan
1,235 PointsThank you Steven. It worked when I said "i < (sequence.Length - 1)"
Christian Andersson
8,712 PointsChristian Andersson
8,712 Pointsyou probably want
sequence.length
in lowercase.