PoleLidiVypisVyjimka_Main
Requisitos de finalización
- Zadání: Vytvořte instanci jednorozměrného celočíselného pole o 5 prvcích: 7, 5, 2, 4, 9. Instance se bude jmenovat poctyLidi. Vypište hodnotu prvku instance poctyLidi, kde index prvku bude načten od uživatele. Pokud uživatel zadá špatný číselný formát indexu, vypište mu varovné hlášení: "Zadal jste špatný formát čísla indexu". Pokud bude index mimo povolené hranice, vypište uživateli text vyvolané výjimky typu IndexOutOfRangeException
- Řešení:
- Hlavní program - Main:
static void Main(string[] args) { /*Vytvoření instance pole o 5 prvcích včetně inicializace, kde *velikost pole je odvozena kompilátorem */ int[] poctyLidi = { 7, 5, 2, 4, 9 }; //Výpis textu pro zadání indexu Console.Write("Zadejte index prvku pole(0÷{0}): ", poctyLidi.Length - 1); /*Test, zda proběhne konverze zadaného textu na číslo, pokud proběhla * konverze bude hodnota uložena do proměnné indexPrvku*/ if (int.TryParse(Console.ReadLine(), out int indexPrvku) == true) //Potenciálně nebezpečný kód na chybně zadaný index try { //Výpis hodnoty prvku jednorozměrného pole na základě načteného indexu Console.WriteLine("Prvek na pozici {0} má hodnotu: {1}", indexPrvku, poctyLidi[indexPrvku]); } //Ošetření výjimky catch (IndexOutOfRangeException ex) { Console.WriteLine("Nastala výjimka: {0}", ex.ToString()); } //Neproběhla konverze - chybně zadaný index else { Console.WriteLine("Zadal jste špatný formát čísla indexu"); return; } //Čekání na stisk klávesy -> ukončení programu Console.ReadKey(); }
- Výstup programu 1: Ukázka výpisu hodnoty prvku na specifikované pozici
Zadejte index prvku pole(0÷4): 1
Prvek na pozici 1 má hodnotu: 5- Výstup programu 2: Ukázka zadání textu namísto indexu prvku
Zadejte index prvku pole(0÷4): bflm
Zadal jste špatný formát čísla indexu
- Výstup programu 3: Ukázka výpisu výjimky při neplatném indexu prvku pole
Zadejte index prvku pole(0÷4): 5
Nastala výjimka: System.IndexOutOfRangeException: Index was outside the bounds of the array.
Última modificación: jueves, 6 de febrero de 2020, 23:39