Gyakorlat – Logikai értékek visszaadása metódusokból
A logikai visszatérési típusokkal rendelkező metódusok lehetnek egyszerűek, de hasznosak a kód összevonásában. Az értékeket visszaadó bool metódusok meghívhatók az adatbevitel kiértékelésére bárhol, utasításokban if , változó deklarációkban stb. Ebben a gyakorlatban tapasztalatot szerezhet a logikai visszatérési típusú metódusok létrehozása és használata során.
Logikai értéket visszaadó metódus létrehozása
Tegyük fel, hogy egy kódolási interjúban jelölt. A kérdező azt akarja, hogy ellenőrizze, hogy több szó egy palindrome. A szó egy palindrome, ha ugyanazt olvassa visszafelé és előre. A szó racecar például palindrome. Lássunk is hozzá!
A Visual Studio Code Editorban törölje a meglévő kódot az előző gyakorlatokból.
Írja be a következő kódot a Szerkesztőbe:
string[] words = {"racecar" ,"talented", "deified", "tent", "tenet"}; Console.WriteLine("Is it a palindrome?"); foreach (string word in words) { Console.WriteLine($"{word}: {IsPalindrome(word)}"); }Ez a kód létrehoz néhány tesztesetet, és hivatkozik egy nevű
IsPalindromemetódusra. A metódus szavai és kimenete azIsPalindromeutasításokban lesz kinyomtatvaConsole.WriteLine.Adjon meg egy új üres kódsort, és hozzon létre
boolmetódust a következő kód beírásával:bool IsPalindrome(string word) { return true; }Gondolja át, hogyan ellenőrizheti, hogy egy szó palindrome-e.
Az ellenőrzés egyik módja a szó első és utolsó betűinek összehasonlítása. Ha egyeznek, hasonlítsa össze a szó második és az utolsó előtti betűt. Ha eléri a szó közepét, akkor az összes betűt összehasonlítottuk és megfeleltettük. Ha a betűk nem egyeznek, a szó nem palindrome.
Frissítse a metódust
IsPalindromea következő kóddal: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; }Figyelje meg a változókat
start, ésendmutasson a sztring első és utolsó karakterére. A hurok megszakad, amikor a szó közepe teljesül; mikorstartésendmutasson ugyanarra a karakterre vagy keresztre egymás felett. Az egérmutatók befelé vannak mozgatva minden alkalommal, amikor egyezés van. Ha nem egyeznek, a metódus leáll, és visszaadja a függvénytfalse.Most a metódus sikeresen ellenőrzi, hogy egy szó palindrome-e, és visszaadja
truevagyfalseennek megfelelően.
Ellenőrizze munkáját
Ebben a feladatban futtatja az alkalmazást az integrált terminálról, és ellenőrzi, hogy a kód megfelelően működik-e. Lássunk neki!
Mentse a munkáját a CtrlS + vagy a Visual Studio Code File menüvel.
Szükség esetén nyissa meg a Visual Studio Code integrált terminálpaneljét.
Az EXPLORER panelen nyissa meg a Terminált a TestProject mappa helyén, kattintson a jobb gombbal a TestProject elemre, majd válassza a Megnyitás az integrált terminálban lehetőséget.
A Terminál parancssorában írja be a dotnet run
Ellenőrizze, hogy a kód a következő kimenetet hozza-e létre:
Is it a palindrome? racecar: True talented: False deified: True tent: False tenet: TrueHa a kód eltérő eredményeket jelenít meg, a hiba megkereséséhez és a frissítések elvégzéséhez át kell tekintenie a kódot. Futtassa újra a kódot, és ellenőrizze, hogy kijavította-e a problémát. Folytassa a kód frissítését és futtatását, amíg a kód meg nem hozza a várt eredményeket.