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!"); } }
关键改动说明
- 分多行打印信息:替换原来的合并字符串输出,改为每行单独打印宠物的名字、年龄和性别,使用字符串插值
$""让代码更简洁易读。 - 性别相关输出:利用已存储的
isFemale布尔值,通过三元运算符判断输出"Female/Male"性别标识,以及对应的"Good girl!/Good boy!"问候语。
Program.cs无需修改,保持原有逻辑即可。运行程序后,输入宠物信息就能得到符合要求的分行输出和性别问候。
内容的提问来源于stack exchange,提问作者user19871418
相关产品推荐
相关产品推荐

