Cvičení – vrácení logických hodnot z metod

Dokončeno

Metody s logickými návratovými typy můžou být jednoduché, ale jsou užitečné při slučování kódu. Metody, které vracejí bool hodnoty, lze volat k vyhodnocení vstupu dat kdekoli, v if příkazech, v deklarací proměnných a dalších. V tomto cvičení získáte zkušenosti s vytvářením a používáním logických metod návratových typů.

Vytvoření metody, která vrací logickou hodnotu

Předpokládejme, že jste kandidátem v programovacím pohovoru. Tazatel chce, abyste zkontrolovali, jestli je několik slov palindrome. Slovo je palindrome, pokud čte stejné zpětné a dopředu. Například slovo racecar je palindrome. Pusťme se do toho.

  1. V editoru Visual Studio Code odstraňte veškerý existující kód z předchozích cvičení.

  2. Do editoru zadejte následující kód:

    string[] words = {"racecar" ,"talented", "deified", "tent", "tenet"};
    
    Console.WriteLine("Is it a palindrome?");
    foreach (string word in words) 
    {
        Console.WriteLine($"{word}: {IsPalindrome(word)}");
    }
    

    Tento kód vytvoří některé testovací případy a odkazuje na metodu s názvem IsPalindrome. Slova a výstup IsPalindrome metody jsou vytištěny v Console.WriteLine příkazech.

  3. Zadejte nový prázdný řádek kódu a vytvořte bool metodu zadáním následujícího kódu:

    bool IsPalindrome(string word) 
    {
        return true;
    }
    
  4. Zvažte, jak byste zkontrolovali, jestli je slovo palindrome.

    Jedním ze způsobů, jak to zkontrolovat, je porovnat první a poslední písmena slova. Pokud se shodují, porovnejte druhý a druhý a poslední písmeno slova. Pokud se dostanete doprostřed slova, jsou všechna písmena porovnána a spárována. Pokud se některá písmena neshoduje, slovo není palindrome.

  5. Aktualizujte metodu IsPalindrome následujícím kódem:

    bool IsPalindrome(string word) 
    {
        int start = 0;
        int end = word.Length - 1;
    
        while (start < end) 
        {
            if (word[start] != word[end]) 
            {
                return false;
            }
            start++;
            end--;
        }
    
        return true;
    }
    

    Všimněte si proměnných start a end odkazování na první a poslední znaky v řetězci. Smyčka se přeruší při splnění středu slova; a startend nasměrujte na stejný znak nebo překračujte mezi sebou. Ukazatele se přesunou dovnitř pokaždé, když dojde ke shodě. Pokud se neshodují, metoda se ukončí a vrátí false.

    Nyní vaše metoda úspěšně zkontroluje, zda je slovo palindrome a vrátí true nebo false odpovídajícím způsobem.

Kontrola práce

V této úloze spustíte aplikaci z integrovaného terminálu a ověříte, že váš kód funguje správně. Pojďme na to.

  1. Uložte práci pomocí ctrl + S nebo pomocí nabídky Soubor editoru Visual Studio Code.

  2. V případě potřeby otevřete integrovaný panel terminálu editoru Visual Studio Code.

    Na panelu PRŮZKUMNÍK otevřete terminál v umístění složky TestProject, klikněte pravým tlačítkem myši na TestProject a pak vyberte Otevřít v integrovaném terminálu.

  3. Na příkazovém řádku terminálu zadejte příkaz dotnet run.

  4. Ověřte, že váš kód vytvoří následující výstup:

    Is it a palindrome?
    racecar: True
    talented: False
    deified: True
    tent: False
    tenet: True
    

    Pokud váš kód zobrazuje různé výsledky, budete muset zkontrolovat kód, abyste našli chybu a aktualizovali ji. Spusťte kód znovu, abyste zjistili, jestli jste problém vyřešili. Pokračujte v aktualizaci a spouštění kódu, dokud váš kód nevygeneruje očekávané výsledky.