Ćwiczenie — zwracanie wartości logicznych z metod

Ukończone

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!

  1. W edytorze programu Visual Studio Code usuń dowolny istniejący kod z poprzednich ćwiczeń.

  2. 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ściowe IsPalindrome metody są drukowane w instrukcjach Console.WriteLine .

  3. Wprowadź nowy pusty wiersz kodu i utwórz bool metodę, wprowadzając następujący kod:

    bool IsPalindrome(string word) 
    {
        return true;
    }
    
  4. 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.

  5. Zaktualizuj metodę IsPalindrome przy 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 start i end wskaż pierwsze i ostatnie znaki w ciągu. Pętla przerywa się, gdy zostanie spełniony środek słowa; w przypadku, gdy start i end wskaż 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 true lub false odpowiednio.

Sprawdź swoją pracę

W tym zadaniu uruchomisz aplikację ze zintegrowanego terminalu i sprawdzisz, czy kod działa poprawnie. Zaczynajmy.

  1. Zapisz swoją pracę przy użyciu Ctrl + S lub za pomocą menu Plik programu Visual Studio Code.

  2. 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.

  3. W wierszu polecenia terminalu wprowadź polecenie dotnet run

  4. Sprawdź, czy kod generuje następujące dane wyjściowe:

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

    Jeś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.