练习 - 从方法返回布尔值
具有布尔值返回类型的方法可能很简单,但对于合并代码很有用。 可以调用返回 bool 值的方法来评估 if 语句、变量声明等任意位置的数据输入。 在本练习中,你将获得一些创建和使用布尔值返回类型方法的经验。
创建返回布尔值的方法
假设你是编码面试的候选人。 面试官要求你检查几个单词是否是回文词。 如果一个单词以正反顺序看相同,则它是回文词。 例如,单词 racecar 是一个回文。 让我们开始吧!
在 Visual Studio Code 编辑器中,删除前面练习中的任何现有代码。
在编辑器中输入以下代码:
string[] words = {"racecar" ,"talented", "deified", "tent", "tenet"}; Console.WriteLine("Is it a palindrome?"); foreach (string word in words) { Console.WriteLine($"{word}: {IsPalindrome(word)}"); }此代码建立一些测试用例并引用名为
IsPalindrome的方法。 单词和IsPalindrome方法的输出打印在Console.WriteLine语句中。输入新的空白代码行,然后通过输入以下代码来创建
bool方法:bool IsPalindrome(string word) { return true; }思考如何检查一个单词是否是回文词。
一种检查方法是对比单词的第一个和最后一个字母。 如果相同,则对比单词的第二个和倒数第二个字母。 如果对比到单词的中间,则所有的字母都已对比且相同。 如果有任意字母不相同,则该单词不是回文词。
使用以下代码更新
IsPalindrome方法:bool IsPalindrome(string word) { int start = 0; int end = word.Length - 1; while (start < end) { if (word[start] != word[end]) { return false; } start++; end--; } return true; }请注意,变量
start和end指向字符串中的第一个和最后一个字符。 对比到单词的中间时,循环中断;start和end指向同一个字符,即相互重叠时。 每当字符相同时,指针都会向中心移动。 如果不同,则该方法终止并返回false。现在,你的方法成功检查了一个单词是否是回文词,并相应地返回了
true或false。
检查你的工作
在此任务中,从集成终端运行应用程序,并验证代码是否正常工作。 现在就开始吧。
使用 Ctrl + S 或使用 Visual Studio Code 文件菜单保存工作。
如有必要,打开 Visual Studio Code 的集成终端面板。
在“资源管理器”面板中,若要在 TestProject 文件夹位置打开终端,请右键单击“TestProject”,然后选择“在集成终端中打开”。
在终端命令提示符处,输入 dotnet run
验证代码是否生成以下输出:
Is it a palindrome? racecar: True talented: False deified: True tent: False tenet: True如果代码显示不同的结果,则需要查看代码以查找错误并进行更新。 再次运行代码以查看是否已解决问题。 继续更新和运行代码,直到代码生成预期结果。