Cvičení – vrácení logických hodnot z metod
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.
V editoru Visual Studio Code odstraňte veškerý existující kód z předchozích cvičení.
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ýstupIsPalindromemetody jsou vytištěny vConsole.WriteLinepříkazech.Zadejte nový prázdný řádek kódu a vytvořte
boolmetodu zadáním následujícího kódu:bool IsPalindrome(string word) { return true; }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.
Aktualizujte metodu
IsPalindromená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
startaendodkazování na první a poslední znaky v řetězci. Smyčka se přeruší při splnění středu slova; astartendnasmě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í
truenebofalseodpoví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.
Uložte práci pomocí ctrl + S nebo pomocí nabídky Soubor editoru Visual Studio Code.
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.
Na příkazovém řádku terminálu zadejte příkaz dotnet run.
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: TruePokud 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.