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

jack Sandberg
jack Sandberg
1,659 Points

I don't understand what i'm doing wrong, I tried to use if , else if , else but I still didnt work ... wtf...

How can it complain on else when im not even using else ...

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

1 Answer

jack, you have an else if... clause without an if (see the ;), you have "Juste" where the editor wants "Just", you have "...right" where the editor whats "...right." (i.e., a period after the word).

Remember, the editor is a program and can be very picky if you don't follow the instructions precisely.

More importantly, i.e., from a logic point of view, you have less than or equal 21 when it asked for less than, and you have greater than or equal to 21, which keeps the options from being mutually exclusive.

Try something like this instead:

if(temperature < 21){
  System.Console.WriteLine("Too cold!");
} else if(temperature == 21 || temperature == 22) {
  System.Console.WriteLine("Just right.");
} else if(temperature > 22) {
  System.Console.WriteLine("Too hot!");
}