Wciąż jestem początkującym programistą w językach programowania wysokiego poziomu, więc nie wiem, czy jest to łatwe rozwiązanie, ale i tak się cieszę. Zaprogramowałem mały program alarmowy w języku C#, który pozwala użytkownikowi wprowadzić ile sekund alarm musi zgasnąć. Działa doskonale, ale dane wejściowe, które musi podać użytkownik, muszą być liczbą. Kiedy użytkownik wprowadza dowolną formę tekstu, program ulega awarii. Teraz, w jaki sposób mogę zapobiec temu, aby użytkownicy wprowadzali tekst i wywoływali funkcję lub robili coś innego, gdy robił to użytkownik, zamiast po prostu ulegał awarii?Jak zapobiegać niektórym formom wprowadzania danych podczas pisania metod?
Jest to kod mam teraz:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
class Alarm
{
public static void play()
{
int sec;
sec = Convert.ToInt16(Console.ReadLine());
for (int i = 0; i < seconds; ++i)
{
System.Threading.Thread.Sleep(1000);
}
for (int i = 0; i < 10; i++)
{
Console.Beep();
}
}
}
}
Cóż, z góry mojej głowy można użyć 'try'' catch' wokół konwertera i obsłużyć wyjątek, jak ci się podoba, na przykład poproś go o ponowne wprowadzenie wartości. – user17753
W osobnej notatce "int" to "Int32", a nie "Int16". 'short' jest aliasem' Int16' –
@JustinPihony Nawet o tym nie wiedziałem. Przyjąłem wszystkie odpowiedzi z przeszłości, które mi pomogły. Dzięki za wskazówkę. :) – DutchLearner