• 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