Unterstützung für die Suche nach mehreren Begriffen hinzufügen.

Abgeschlossen

Die Contoso Pets-App hilft bei der Suche nach neuen Häusern für aufgegebene Haustiere. Das Team möchte die Suchfunktion verbessern, damit Benutzer bei der Suche nach Hunden mehrere Begriffe eingeben können.

Suchspezifikation

In dieser ersten Herausforderungsübung müssen Sie das Feature für die einzelbegriffssuche aktualisieren, damit Benutzer mehrere Suchbegriffe eingeben können, die durch Kommas getrennt sind.

Sammeln mehrerer Suchbegriffe vom Benutzer

  • Zulassen, dass der Benutzer bei der Suche nach Hunden mehrere Suchbegriffe eingibt
  • Der Benutzer benötigt Anweisungen, um "die durch Kommas getrennten Suchbegriffe einzugeben"
  • Trennen einzelner Suchbegriffe von der Benutzereingabezeichenfolge und Speichern als Werte in einem Array
  • Sortieren der Begriffe im Array in alphanumerischer Sortierreihenfolge

Identifizieren von Hunden mit Beschreibungen mit Übereinstimmungen für einen oder mehrere Benutzersuchbegriffe

  • Wenn Sie einen Hund in animalsArray identifizieren, suchen Sie nach Übereinstimmungen für jeden Eintrag, den der Benutzer eingegeben hat.
  • Bei einer Begriffsübereinstimmung wird eine Meldung mit dem Hundenamen und dem übereinstimmenden Begriff ausgegeben
    • Beispiel: Our dog Jake is a match for your search for sheppard!
  • Wenn alle Begriffssuchen nach der aktuellen Hundebeschreibung abgeschlossen sind:
    • Geben Sie für mindestens eine Übereinstimmung den Spitznamen und die Beschreibung für den aktuellen Hund aus.
    • Verfolgen Sie bei einem oder mehreren Treffern, dass eine Übereinstimmung vorhanden ist, damit Sie wissen, dass keine Meldung "keine Treffer für verfügbare Hunde gefunden" angezeigt wird (siehe nächstes Element).
  • Nachdem alle Hundesuchen ohne Übereinstimmungen abgeschlossen sind, wird eine Meldung angezeigt: "Keine Übereinstimmungen für alle verfügbaren Hunde gefunden"

Erzwingen der folgenden Validierungsregeln

  • Werte dürfen nicht null sein.
  • Werte dürfen keine Nullzeichen enthalten.
  • jegliche weitere Einschränkung obliegt dem Entwickler.

Codekommentare

  • Nummerierte Codekommentare im Startcode bieten Vorschläge
  • Die Kommentare befinden sich in einer sequenziellen Reihenfolge, und nur die Kommentare beginnend mit #1, #2 und #3 gelten für diese Übung der Herausforderung.

Beispielausgabe

  • Überprüfen Sie das folgende animierte Bild

    • Beachten Sie die temporäre Anzeige von "searching..." gefolgt vom aktuellen Ausdruck (Beispiel: "searching...retriever")

    • Beachten Sie, dass die Reihenfolge, in der die Begriffe in der Suche angezeigt werden, jetzt alphanumerisch ist.

    • Beachten Sie, dass die Meldungen für Übereinstimmungen bestehen bleiben (Beispiel: Our dog lola is a chase match!)

      Animierter Screenshot eines Beispiels für die Suche nach Hundebeschreibungen mit vier vom Benutzer übermittelten Begriffen.

  • Überprüfen Sie die Beispielausgabe im folgenden Abschnitt "So überprüfen Sie Ihre Arbeit", um weiter zu klären, wie Features implementiert werden.

So überprüfen Sie Ihre Arbeit

Führen Sie die folgenden Schritte aus, um zu überprüfen, ob Ihr Code die angegebenen Anforderungen erfüllt:

  1. Verwenden Sie Visual Studio Code, um Ihre App zu erstellen und auszuführen.

Hinweis

Sie können den Überprüfungstest vor dem Abschluss aller Überprüfungsschritte beenden, wenn ein Ergebnis angezeigt wird, das die Spezifikationsanforderungen nicht erfüllt. Um ein Beenden des ausgeführten Programms zu erzwingen, drücken Sie im Terminalbereich STRG-C. Nachdem Sie die ausgeführte App beendet haben, nehmen Sie die Bearbeitungen zum Beheben des aktuellen Problems vor, speichern Sie die Änderungen in der Datei „Program.cs“, erstellen Sie ihren Code erneut, und führen Sie ihn aus.

  1. Die Terminal-Eingabeaufforderung sollte als Ausgangspunkt für das Programm angezeigt werden.

  2. Geben Sie an der Eingabeaufforderung 2 ein:

    Welcome to the Contoso PetFriends app. Your main menu options are:
     1. List all of our current pet information
     2. Display all dogs with a specified characteristic
    
    Enter your selection number (or type Exit to exit the program)
    2
    
    Enter dog characteristics to search for separated by commas
    
  3. Geben Sie an der Eingabeaufforderung groß, cremefarben, golden ein, um zu testen, ob mehrere Suchbegriffe den Hundebeschreibungen entsprechen. Vergewissern Sie sich, dass der Terminalbereich mit einer Meldung aktualisiert wird, die dem Codeausgabebeispiel ähnelt:

    Enter dog characteristics to search for separated by commas
    large, cream, golden
    
    Our dog Nickname: lola matches your search for cream
    Our dog Nickname: lola matches your search for golden
    Nickname: lola (ID #: d1)
    Physical description: medium sized cream colored female golden retriever weighing about 45 pounds. housebroken.
    Personality: loves to have her belly rubbed and likes to chase her tail. gives lots of kisses.
    
    Our dog Nickname: gus matches your search for golden
    Our dog Nickname: gus matches your search for large
    Nickname: gus (ID #: d2)
    Physical description: large reddish-brown male golden retriever weighing about 85 pounds. housebroken.
    Personality: loves to have his ears rubbed when he greets you at the door, or at any time! loves to lean-in and give doggy hugs.
    
    Press the Enter key to continue
    
  4. Drücken Sie an der Eingabeaufforderung die EINGABETASTE, um mit dem Hauptmenü fortzufahren.

  5. Geben Sie an der Eingabeaufforderung 2 ein:

    Welcome to the Contoso PetFriends app. Your main menu options are:
     1. List all of our current pet information
     2. Display all dogs with a specified characteristic
    
    Enter your selection number (or type Exit to exit the program)
    2
    
    Enter dog characteristics to search for separated by commas
    
    
  6. Geben Sie an der Eingabeaufforderung große, graue Streifen ein, um zu testen, ob keiner der Suchbegriffe Hundebeschreibungen entspricht. Vergewissern Sie sich, dass der Terminalbereich mit einer Meldung aktualisiert wird, die den Codeausgabebeispielen ähnelt:

    Enter dog characteristics to search for separated by commas
    big, grey, stripes
    
    None of our dogs are a match for: big, grey, stripes
    
    
    Press the Enter key to continue
    
  7. Wenn Sie weitere Einschränkungen für gültige Einträge angegeben haben, führen Sie die entsprechenden Testfälle aus, um Ihre Arbeit zu überprüfen.

Hinweis

Wenn Ihr Code die Anforderungen erfüllt, sollten Sie jeden Schritt in der Reihenfolge ausführen und die erwarteten Ergebnisse in einem einzigen Testdurchlauf anzeigen können. Wenn Sie zusätzliche Einschränkungen hinzugefügt haben, müssen Sie die Anwendung möglicherweise beenden und dann einen separaten Testdurchlauf ausführen, um die Überprüfung abzuschließen.

Herzlichen Glückwunsch, wenn Sie in dieser Herausforderungsübung erfolgreich waren!