You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#初学者求助:优化宠物信息展示并按性别输出问候

解决方案

针对你的需求,只需修改Pet类中的displayPetInfo方法,同时利用已保存的isFemale字段实现性别相关输出,具体改动如下:

修改后的Pet.cs代码

class Pet
{
    private string name; //name of pet
    private int age; //age as number
    private bool isFemale; //true if female, false if not female

    public void start()
    {
        Console.WriteLine(); //empty line
        Console.WriteLine("Greetings from the Pet Owner app!");
        Console.WriteLine(); //empty line 2
    }
    public void readAndSavePetData()
    {
        //read text
        Console.WriteLine("What is the name of your pet?");
        name = Console.ReadLine();
        //read number
        Console.WriteLine("what is " + name + "'s age?");
        string textValue = Console.ReadLine();
        //convert string to number
        age = int.Parse(textValue);
        //read value (y/n)
        Console.WriteLine("Is Your pet a female (y/n)?");
        string strGender = Console.ReadLine();
        strGender = strGender.Trim();
        char response = strGender[0];
        if ((response == 'y') || (response == 'Y'))
             isFemale = true;
        else
             isFemale = false;
    }
    public void displayPetInfo()
    {
        // 分多行打印宠物信息
        Console.WriteLine($"Name: {name}");
        Console.WriteLine($"Age: {age}");
        Console.WriteLine($"Gender: {(isFemale ? "Female" : "Male")}");
        
        // 根据性别输出对应问候
        Console.WriteLine(isFemale ? "Good girl!" : "Good boy!");
    }
}

关键改动说明

  1. 分多行打印信息:替换原来的合并字符串输出,改为每行单独打印宠物的名字、年龄和性别,使用字符串插值$""让代码更简洁易读。
  2. 性别相关输出:利用已存储的isFemale布尔值,通过三元运算符判断输出"Female/Male"性别标识,以及对应的"Good girl!/Good boy!"问候语。

Program.cs无需修改,保持原有逻辑即可。运行程序后,输入宠物信息就能得到符合要求的分行输出和性别问候。

内容的提问来源于stack exchange,提问作者user19871418

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:27:23