Это формулировка упражнения.
** Создайте консольное приложение, которое запрашивает у пользователя два числа в диапазоне 0-255, а затем делит первое число на второе:
Введите число от 0 до 255: 100
Введите другое число от 0 до 255: 8
100, разделенное на 8, равно 12
Напишите обработчики исключений, чтобы перехватить любойвыданные ошибки:
Введите число от 0 до 255: яблоки
Введите другое число от 0 до 255: бананы
FormatException: Входная строка была в неправильном формате.**
Это программа, которую я написал, она работает.Но я намеревался сделать его короче, написав результат байта = делитель / делимое;
И делитель, и дивиденд уже были отлиты как байт, так почему я не могу использовать их непосредственно вкод?
Я должен был вычислить операцию, используя int, а затем преобразовать это int в байт .(2 шага вместо одного, что меня озадачивает)
Я что-то упустил?
static void Main(string[] args)
{
checked
{
try
{
WriteLine("Enter a number between 0 and 255");
string firstNumber = ReadLine();
byte divisor = Convert.ToByte(firstNumber);
WriteLine("Enter another between 0 and 255");
string secondNumber = ReadLine();
byte dividend = Convert.ToByte(secondNumber);
int calculation = divisor / dividend;
byte result = Convert.ToByte(calculation);
WriteLine($"The result of the division between {divisor} and {dividend} is {result}");
}
catch (OverflowException)
{
WriteLine("The number you entered is either lower than 0 or superior to 255, please enter a number between 0 and 255");
}
catch (FormatException)
{
WriteLine("You didn't enter a number");
}
catch (Exception ex)
{
WriteLine($"{ex.GetType()} says {ex.Message}");
}
}
ReadKey();
}