Oefening: Booleaanse waarden retourneren op basis van methoden

Voltooid

Methoden met Booleaanse retourtypen kunnen eenvoudig zijn, maar zijn handig bij het consolideren van code. Methoden die waarden retourneren bool , kunnen worden aangeroepen om gegevensinvoer overal, in if instructies, in variabeledeclaraties en meer te evalueren. In deze oefening krijgt u enige ervaring met het maken en gebruiken van Booleaanse retourtypemethoden.

Een methode maken die een Booleaanse waarde retourneert

Stel dat u kandidaat bent in een coderingsgesprek. De interviewer wil dat je controleert of meerdere woorden een palindrome zijn. Een woord is een palindrome als het hetzelfde achter- en vooruit leest. Het woord racecar is bijvoorbeeld een palindrome. Laten we beginnen.

  1. Verwijder in de Visual Studio Code-editor alle bestaande code uit de vorige oefeningen.

  2. Voer de volgende code in de editor in:

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

    Met deze code worden enkele testcases vastgesteld en wordt verwezen naar een methode met de naam IsPalindrome. De woorden en uitvoer van de IsPalindrome methode worden afgedrukt in de Console.WriteLine instructies.

  3. Voer een nieuwe lege coderegel in en maak bool een methode door de volgende code in te voeren:

    bool IsPalindrome(string word) 
    {
        return true;
    }
    
  4. Denk na over hoe je zou controleren of een woord een palindrome is.

    U kunt dit controleren door de eerste en de laatste letters van het woord te vergelijken. Als ze overeenkomen, vergelijkt u de tweede en de tweede tot laatste letter van het woord. Als u het midden van het woord bereikt, zijn alle letters vergeleken en overeenkomend. Als er geen letters overeenkomen, is het woord geen palindrome.

  5. Werk de IsPalindrome methode bij met de volgende code:

    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;
    }
    

    Let op de variabelen start en end verwijzen naar de eerste en laatste tekens in de tekenreeks. De lus breekt af wanneer het midden van het woord wordt bereikt; wanneer start en end wijs hetzelfde teken aan of kruis over elkaar heen. De aanwijzers worden telkens naar binnen verplaatst wanneer er een overeenkomst is. Als ze niet overeenkomen, wordt de methode beëindigd en geretourneerd false.

    Uw methode controleert nu of een woord een palindrome is en retourneert true of false dienovereenkomstig.

Controleer uw werk

In deze taak voert u uw toepassing uit vanuit de Integrated Terminal en controleert u of uw code correct werkt. Laten we aan de slag gaan.

  1. Sla uw werk op met Ctrl + S of met het menu Visual Studio Code File.

  2. Open zo nodig het geïntegreerde terminalpaneel van Visual Studio Code.

    Klik in het deelvenster EXPLORER om een Terminal te openen op de locatie van de map TestProject met de rechtermuisknop op TestProject en selecteer Vervolgens Openen in geïntegreerde terminal.

  3. Voer bij de Terminal-opdrachtprompt dotnet run in

  4. Controleer of uw code de volgende uitvoer produceert:

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

    Als uw code verschillende resultaten weergeeft, moet u uw code controleren om uw fout te vinden en updates aan te brengen. Voer de code opnieuw uit om te zien of u het probleem hebt opgelost. Ga door met het bijwerken en uitvoeren van uw code totdat uw code de verwachte resultaten produceert.