Wiederholung - Benutzerprofil-Validator
Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy. Lektion 65 von 66.
Aufgabe
EinfachSie erhalten drei Eingaben, die ein Benutzerprofil darstellen. Die erste Eingabe ist ein Benutzername, die zweite ist ein Alter und die dritte ist eine E-Mail-Adresse. Validieren Sie das Profil gemäß den folgenden Regeln und geben Sie die entsprechende Nachricht aus:
Validierungsregeln:
- Der Benutzername muss mindestens 3 Zeichen lang sein
- Das Alter muss zwischen 13 und 120 liegen (einschließlich)
- Die E-Mail muss das
@-Symbol enthalten
Anforderungen:
- Lesen Sie die Benutzernameneingabe ein und entfernen Sie Leerzeichen am Anfang und Ende (trim)
- Lesen Sie die Alterseingabe ein, entfernen Sie Leerzeichen und parsen Sie diese zu
i32 - Lesen Sie die E-Mail-Eingabe ein und entfernen Sie Leerzeichen
- Prüfen Sie, ob die Länge des Benutzernamens mindestens 3 Zeichen beträgt
- Prüfen Sie, ob das Alter im Bereich von 13 bis 120 liegt (verwenden Sie
matchmit Bereichen) - Prüfen Sie, ob die E-Mail das Zeichen
@enthält (verwenden Sie die Methode.contains()) - Wenn alle Validierungen erfolgreich sind, geben Sie aus:
Valid profile - Wenn der Benutzername zu kurz ist, geben Sie aus:
Invalid username - Wenn das Alter außerhalb des Bereichs liegt, geben Sie aus:
Invalid age - Wenn die E-Mail kein
@enthält, geben Sie aus:Invalid email - Prüfen Sie die Validierungen in der Reihenfolge: zuerst Benutzername, dann Alter, dann E-Mail
Eingabe:
- Erste Zeile: Ein Benutzername (z. B.
alice123) - Zweite Zeile: Ein Alter (z. B.
25) - Dritte Zeile: Eine E-Mail-Adresse (z. B.
alice@example.com)
Ausgabe:
- Eines von:
Valid profile,Invalid username,Invalid ageoderInvalid email
Probier es selbst
use std::io;
fn main() {
// Benutzernamen-Eingabe lesen
let mut username = String::new();
io::stdin().read_line(&mut username).expect("Failed to read line");
let username = username.trim();
// Alters-Eingabe lesen
let mut age_input = String::new();
io::stdin().read_line(&mut age_input).expect("Failed to read line");
let age: i32 = age_input.trim().parse().expect("Failed to parse age");
// E-Mail-Eingabe lesen
let mut email = String::new();
io::stdin().read_line(&mut email).expect("Failed to read line");
let email = email.trim();
// TODO: Schreiben Sie Ihren Code unten, um das Profil zu validieren
// Benutzernamenlänge, Altersbereich und E-Mail-Format prüfen
// Die entsprechende Nachricht basierend auf den Validierungsergebnissen ausgeben
}Alle Lektionen in Logic & Flow
1Fortgeschrittener Kontrollfluss
Der 'match'-AusdruckAbgleichen mehrerer WerteBereiche abgleichenDer 'if let'-AusdruckSchleifen als AusdrückeRückblick – Einfacher Befehls-Parser4Daten gruppieren mit Structs
Was ist ein Struct?Übersicht über StructsZugriff auf Struct-FelderVeränderbare StructsStructs als FunktionsparameterTupel-StructsZusammenfassung – Ein Buch-Struct erstellen2Einführung in Vektoren
Was ist ein Vektor?Einen Vektor erstellenElemente mit push hinzufügenZugriff auf Vektor-ElementeÜber einen Vektor iterierenVeränderliche IterationElemente entfernenZusammenfassung – Einfacher Score-Tracker5Schlüssel-Wert-Paare mit Hash Maps
Was ist eine Hash Map?Erstellen einer Hash MapEinfügen von Schlüssel-Wert-PaarenZugreifen auf WerteIterieren über eine Hash MapAktualisieren eines WertesEntfernen eines PaaresZusammenfassung – Wortzähler8Projekt: Einfaches Artikelinventar
Projekt-SetupEinen Artikel hinzufügenLagerbestand prüfenEinen Artikel verkaufenAlles zusammenfügen11Abschluss-Herausforderungen
Wiederholung - Einzigartige ElementeWiederholung - Benutzerprofil-ValidatorWiederholung - Noten-Zusammenfassung3Kommandozeilen-To-Do-Liste
Projekt-SetupEine Aufgabe hinzufügenAlle Aufgaben anzeigenEine Aufgabe entfernenFinaler CodeÜbe selbstständig: Online-Rust-Compiler