回顾:用户资料验证器
本课属于 Coddy Rust 学习旅程的“逻辑与流程”单元。第 65 课,共 66 课。
挑战
简单你会收到代表用户个人资料的 3 个输入。第一个输入是用户名,第二个是年龄,第三个是电子邮件地址。请按照以下规则验证个人资料,并打印相应的消息:
验证规则:
- 用户名长度至少为 3 个字符
- 年龄必须在 13 到 120 之间(含边界值)
- 电子邮件必须包含
@符号
要求:
- 读取用户名输入并去除空白字符
- 读取年龄输入,去除空白字符,并将其解析为
i32 - 读取电子邮件输入并去除空白字符
- 检查用户名长度是否至少为 3 个字符
- 检查年龄是否在 13 到 120 的范围内(使用带范围的
match) - 检查电子邮件是否包含
@字符(使用.contains()方法) - 如果所有验证都通过,打印:
Valid profile - 如果用户名太短,打印:
Invalid username - 如果年龄超出范围,打印:
Invalid age - 如果电子邮件不包含
@,打印:Invalid email - 按顺序检查验证项:先检查用户名,然后检查年龄,最后检查电子邮件
输入:
- 第一行:用户名(例如,
alice123) - 第二行:年龄(例如,
25) - 第三行:电子邮件地址(例如,
alice@example.com)
输出:
- 以下其中一项:
Valid profile、Invalid username、Invalid age或Invalid email
亲手试试
use std::io;
fn main() {
// 读取用户名输入
let mut username = String::new();
io::stdin().read_line(&mut username).expect("Failed to read line");
let username = username.trim();
// 读取年龄输入
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");
// 读取邮箱输入
let mut email = String::new();
io::stdin().read_line(&mut email).expect("Failed to read line");
let email = email.trim();
// TODO: 在下方编写代码,验证用户资料
// 检查用户名长度、年龄范围和邮箱格式
// 根据验证结果输出相应的消息
}逻辑与流程中的所有课
自己练习: Rust 在线编译器