C# C# Basics (Retired) Perfect Final

Add an if/else statement on a try/catch

Add an if/else conditional statement just after parsing the user's provided input to an integer Write a conditional expression to ensure that the remainder of the code in the try block is only executed if the user provides a non-negative number If the user enters a negative number, output to the console the message "You must enter a positive number."

Program.cs
using System;

namespace Treehouse.CodeChallenges
{
    class Program
    {
        static void Main()
        {
           try
           { Console.Write("Enter the number of times to print \"Yay!\": ");
            string input = Console.ReadLine();

            if(int count = int.Parse(input);

            int i = 0;)

            while(i < count)
            {                i += 1;   
                Console.WriteLine("Yay!");
            })
                else{
                Console.Write("You must enter a positive number.");
                     }
            }
            catch(FormatException)
            {
                Console.Write("You must enter a whole number.");
            }
         }
      }
}

1 Answer

Brendan Whiting
MOD
Brendan Whiting
Front End Web Development Treehouse Moderator 84,090 Points

This line of your code

if(int count = int.Parse(input);

is just going to be true if the assignment is successful. You need it to be true only if it's a non-negative number. And also you need to open a block after you if condition, move the code into their, and add the else block per instructions.

int count = int.Parse(input);
if (count >= 0)
{
    int i = 0;
    while(i < count)
    {
        i += 1;   
        Console.WriteLine("Yay!");
    }                    
}
else 
{
     Console.WriteLine("You must enter a positive number.");
}