gpt4 book ai didi

c# - 验证电话号码 C#

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:28 26 4
gpt4 key购买 nike

给定一个电话号码列表,假设电话号码是 91 12 34 56,是不可能拨通的吧?因为紧急电话。

我正在尝试构建一个程序,如果用户输入以 911 开头的电话号码,则输出应为“不一致”,否则为“一致”。

这是我的代码:

static void Main(string[] args)
{
var phoneList = new List<string>();
string input;
Console.WriteLine("The Phone Number: ");

while ((input = Console.ReadLine()) != null)
{
phoneList.Add(input);
}

for (int i = 0; i < phoneList.Count; i++)
{
for (int j = 0; j < phoneList.Count; j++)
{
if (phoneList[i].Substring(0, 3).Equals(phoneList[j].Substring(0, 3)) && i != j)
{
Console.WriteLine("NOT CONSISTENT");
return;
}
}
}
Console.WriteLine("CONSISTENT");
}

我的程序在我输入 911 后立即跳过 if 语句。这是为什么?

编辑:电话号码也是最多十位数字的序列!

最佳答案

您的方向是正确的。您在代码中有几个错误,既有逻辑上的,也有结构上的。

首先,您的 while 循环会一直持续下去,因为它会一直持续到输入为空为止...这不可能发生 - 充其量,输入将是一个空字符串 ""

其次,您要检查输入的字符串的前三个数字(好)与列表中每个字符串的前三个数字(不好)。相反,您应该检查 "911"

static void Main(string[] args)
{
var phoneList = new List<string>();
string input;
Console.WriteLine("The Phone Number: ");

while ((input = Console.ReadLine()) != "")
{
phoneList.Add(input);
}

for (int i = 0; i < phoneList.Count; i++)
{
if (phoneList[i].Substring(0, 3) == "911")
{
Console.WriteLine("NOT CONSISTENT");
return;
}
}
Console.WriteLine("CONSISTENT");
}

然而,重要的是要注意,此代码不检查任何特殊字符、空格等...它假定输入类似于 1234567890 而不是 12 34 56 78 90。如果您想去除所有空格,请确保在通过 for 循环运行每个输入之前使用 String.Replace("", "")

关于c# - 验证电话号码 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32787295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com