面试题答案
一键面试using System;
public class Program
{
public static int SumOfContinuousNumbers(string[] array)
{
int sum = 0;
int i = 0;
while (i < array.Length)
{
if (int.TryParse(array[i], out int number))
{
sum += number;
int j = i + 1;
do
{
if (j < array.Length && int.TryParse(array[j], out int nextNumber))
{
sum += nextNumber;
j++;
}
else
{
break;
}
} while (true);
i = j;
}
else
{
i++;
}
}
return sum;
}
}
你可以使用以下方式调用这个方法:
class Test
{
static void Main()
{
string[] array = { "abc", "123", "xyz", "45" };
int result = Program.SumOfContinuousNumbers(array);
Console.WriteLine(result);
}
}
代码说明
- SumOfContinuousNumbers 方法:
- 初始化一个变量
sum
用于存储总和,初始值为0。 - 使用
while
循环遍历字符串数组array
。 - 使用
int.TryParse
方法尝试将当前字符串转换为整数,如果成功,则将其加到sum
中。 - 接着使用
do - while
循环,查找后续连续的数字字符串,并将它们转换为整数后加到sum
中。 - 非数字字符串直接跳过,继续遍历下一个字符串。
- 初始化一个变量
- Main 方法:
- 创建一个测试用的字符串数组。
- 调用
SumOfContinuousNumbers
方法并输出结果。