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# Basics (Retired) Perfect if / else if / else

C# if/else if condition

Please help on below error.

https://teamtreehouse.com/library/c-basics/perfect/if-else-if-else-2

CodeChallenge.cs
string input = Console.ReadLine();
int temperature = int.Parse(input);
if(temperature<21)
{
Console.WriteLine("Too cold!");
}
else if(temperature>=21 && temperature<22)
{
Console.WriteLine("Just right!");
}
else(temperature>=22)
{
Console.WriteLine("Too hot!");
}

2 Answers

Jennifer Nordell
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Treehouse Teacher

There's a couple of things going on here. First, we want it to print out "Just right" if the temperature is either 21 or 22. The way your code is now, it'll print that out if the temperature is 21, but will print out "Too hot!" if the temperature is 22. The biggest thing though, is that we don't use a condition on an else statement. An else statement is there to tell the code what to do if everything else has failed. Take a look at my solution:

string input = Console.ReadLine();
int temperature = int.Parse(input);
if(temperature<21)
{
Console.WriteLine("Too cold!");
}
else if(temperature < 23) {
Console.WriteLine("Just right.");
}
else {
Console.WriteLine("Too hot!");
}

Hope this helps!

Adrian Reszka
Adrian Reszka
4,555 Points

you were pretty close....but insted of && = and, you should use || = or :)

else if(temperature == 21 || temperature == 22)

also for (temperature>=22) you only wish to apply this for above the 22, so > insted of >= ;)