Oefening: Booleaanse waarden retourneren op basis van methoden
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.
Verwijder in de Visual Studio Code-editor alle bestaande code uit de vorige oefeningen.
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 deIsPalindromemethode worden afgedrukt in deConsole.WriteLineinstructies.Voer een nieuwe lege coderegel in en maak
booleen methode door de volgende code in te voeren:bool IsPalindrome(string word) { return true; }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.
Werk de
IsPalindromemethode 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
startenendverwijzen naar de eerste en laatste tekens in de tekenreeks. De lus breekt af wanneer het midden van het woord wordt bereikt; wanneerstartenendwijs 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 geretourneerdfalse.Uw methode controleert nu of een woord een palindrome is en retourneert
trueoffalsedienovereenkomstig.
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.
Sla uw werk op met Ctrl + S of met het menu Visual Studio Code File.
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.
Voer bij de Terminal-opdrachtprompt dotnet run in
Controleer of uw code de volgende uitvoer produceert:
Is it a palindrome? racecar: True talented: False deified: True tent: False tenet: TrueAls 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.