练习 - 确保 petAge 和 petPhysicalDescription 包含有效信息

已完成

Contoso 宠物应用程序用于帮助寻找废弃宠物的新家园。 此挑战的目标是开发应用程序功能,以确保在 ourAnimals 数组中,每个动物都有完整的数据集。

规格

在此挑战练习中,你需要开发一项功能,确保动物年龄和身体描述是完整的。

此功能必须实现以下目标:

  • 在相应的应用程序分支内启用(不得覆盖菜单选项 2 的代码分支中的代码)。

  • 当宠物 ID 的值设置为默认值时,跳过 ourAnimals 数组中的任何动物。

  • 显示宠物 ID 值,并在我们的Animals 数组数据缺失或不完整时提示用户输入更新的数据值。

  • 确保为 ourAnimals 数组中已分配数据的所有动物的 animalAge 分配一个有效的数值。

  • 确保为 ourAnimals 数组中已分配数据的所有动物的 animalPhysicalDescription 分配一个有效的字符串。

  • 对 animalAge 强制实施以下验证规则。

    • 必须将输入的值转换为数值数据类型。
  • 对 animalPhysicalDescription 强制实施以下验证规则:

    • 值不能为 null。
    • 值不能有零个字符。
    • 任何进一步的限制都由开发人员决定。
  • 在满足所有数据要求时通知应用程序用户,暂停应用程序以确保可以看到并响应消息。

检查你的工作

若要验证代码是否满足指定的要求,请完成以下步骤:

  1. 使用 Visual Studio Code 生成和运行应用。

    注释

    如果看到不符合规范要求的结果,则可以在完成所有验证步骤之前退出验证测试。 若要强制退出正在运行的程序,请在终端面板中按 Ctrl-C。 退出正在运行的应用后,完成你认为将解决你正在处理的问题的编辑,将更新保存到Program.cs文件,然后重新生成并运行代码。

  2. 在终端命令提示符处,输入 3

  3. 验证终端面板是否使用类似于以下内容的消息进行更新:

    Enter an age for ID #: c4
    
    
  4. 在终端命令提示符处,输入 一个

  5. 验证代码是否重复请求宠物年龄值的提示。

    终端面板应更新以显示重复的提示。 显示应类似于以下内容:

    Enter an age for ID #: c4
    one
    Enter an age for ID #: c4
    
    
  6. 在终端命令提示符处,输入 1

  7. 验证代码是否接受 1 作为有效的数值条目,并且终端面板显示类似于以下内容的消息:

    Enter a physical description for ID #: c4 (size, color, breed, gender, weight, housebroken)
    
  8. 在终端命令提示符处,按 Enter 键(无需键入任何字符)。

  9. 验证代码是否重复请求宠物身体描述值的提示。

    终端面板应更新以显示重复的提示。 显示应类似于以下内容:

    Enter a physical description for ID #: c4 (size, color, gender, weight, housebroken)
    
    Enter a physical description for ID #: c4 (size, color, gender, weight, housebroken)
    
    
  10. 在终端命令提示符处,输入“小型白色暹罗猫,体重约 8 磅,受过猫砂盆训练。”

  11. 验证代码是否接受“小型白色暹罗猫,体重约 8 磅,受过猫砂盆训练”作为有效条目,以及终端面板是否显示如下所示的消息:

    Age and physical description fields are complete for all of our friends. 
    Press the Enter key to continue
    
  12. 如果为有效条目指定了进一步的限制,请运行相应的测试用例来验证你的工作。

注释

如果代码满足要求,则应能够按顺序完成每个步骤,并在单个测试通过中查看预期结果。 如果添加了其他限制,可能需要退出应用程序,然后运行单独的测试通道来完成验证。

在本练习中验证结果后,继续执行此挑战中的下一个练习。