C# C# Basics (Retired) Perfect Final

Adam Tyler
Adam Tyler
5,368 Points

Input Valdation: try, catch, if and else

This works in workspace, if given any non-positive number it tells me to enter a positive and gives me another chance to do so. (I have also tried removing the = for <= so entering 0 would be fine just to see if that was the problem) I don't get what is wrong if the code works in workspace. Thanks

Program.cs
using System;

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

                    count = int.Parse(input);

                    if(count <= 0)
                    {
                        Console.WriteLine("You must enter a positive number.");
                    }
                    else
                    {
                        break;
                    }
                }

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

1 Answer

Steven Parker
Steven Parker
176,583 Points

You've identified the problem when you said the program "gives me another chance".

A program that follows the challenge instructions will only ask for input one time, and either print "Yay!"s or an error message. But either way it should end.