Ćwiczenie — zwracanie wartości logicznych z metod
Metody z typami zwracanymi wartościami logicznymi mogą być proste, ale są przydatne w konsolidowaniu kodu. Metody zwracające bool wartości mogą być wywoływane w celu oceny danych wejściowych w dowolnym miejscu, w instrukcjach, w if deklaracjach zmiennych i nie tylko. W tym ćwiczeniu uzyskasz pewne doświadczenie w tworzeniu i używaniu metod zwracanych przez wartość logiczną.
Tworzenie metody zwracającej wartość logiczną
Załóżmy, że jesteś kandydatem w wywiadzie programistycznym. Wywiad chce sprawdzić, czy kilka słów jest palindrome. Słowo jest palindrome, jeśli odczytuje to samo wstecz i do przodu. Na przykład słowo racecar to palindrome. Zaczynamy!
W edytorze programu Visual Studio Code usuń dowolny istniejący kod z poprzednich ćwiczeń.
Wprowadź następujący kod w edytorze:
string[] words = {"racecar" ,"talented", "deified", "tent", "tenet"}; Console.WriteLine("Is it a palindrome?"); foreach (string word in words) { Console.WriteLine($"{word}: {IsPalindrome(word)}"); }Ten kod ustanawia niektóre przypadki testowe i odwołuje się do metody o nazwie
IsPalindrome. Słowa i dane wyjścioweIsPalindromemetody są drukowane w instrukcjachConsole.WriteLine.Wprowadź nowy pusty wiersz kodu i utwórz
boolmetodę, wprowadzając następujący kod:bool IsPalindrome(string word) { return true; }Zastanów się, jak sprawdzić, czy słowo jest palindrome.
Jednym ze sposobów sprawdzenia jest porównanie pierwszych i ostatnich liter słowa. Jeśli są one zgodne, porównaj drugą i ostatnią literę słowa. Jeśli osiągniesz środek słowa, wszystkie litery zostały porównane i dopasowane. Jeśli żadne litery nie są zgodne, słowo nie jest palindrome.
Zaktualizuj metodę
IsPalindromeprzy użyciu następującego kodu: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; }Zwróć uwagę na zmienne
startiendwskaż pierwsze i ostatnie znaki w ciągu. Pętla przerywa się, gdy zostanie spełniony środek słowa; w przypadku, gdystartiendwskaż ten sam znak lub przekreślić się nawzajem. Wskaźniki są przenoszone do wewnątrz za każdym razem, gdy występuje dopasowanie. Jeśli nie są one zgodne, metoda kończy działanie i zwraca wartośćfalse.Teraz metoda pomyślnie sprawdza, czy słowo jest palindrome i zwraca
truelubfalseodpowiednio.
Sprawdź swoją pracę
W tym zadaniu uruchomisz aplikację ze zintegrowanego terminalu i sprawdzisz, czy kod działa poprawnie. Zaczynajmy.
Zapisz swoją pracę przy użyciu Ctrl + S lub za pomocą menu Plik programu Visual Studio Code.
W razie potrzeby otwórz panel zintegrowany terminal programu Visual Studio Code.
W panelu EKSPLORATOR, aby otworzyć terminal w lokalizacji folderu TestProject, kliknij prawym przyciskiem myszy pozycję TestProject, a następnie wybierz polecenie Otwórz w zintegrowanym terminalu.
W wierszu polecenia terminalu wprowadź polecenie dotnet run
Sprawdź, czy kod generuje następujące dane wyjściowe:
Is it a palindrome? racecar: True talented: False deified: True tent: False tenet: TrueJeśli kod wyświetla różne wyniki, musisz przejrzeć kod, aby znaleźć błąd i wprowadzić aktualizacje. Uruchom ponownie kod, aby sprawdzić, czy problem został rozwiązany. Kontynuuj aktualizowanie i uruchamianie kodu, dopóki kod nie generuje oczekiwanych wyników.