本篇文章主要复习函数(方法)的使用!!!
// 提示用户输入两个数字,计算这两个数字之间所有整数的和
// 1,用户只能输入两个数字
// 2,计算两个数字之间的和
// 3,要求第一个数字必须比第二个数字小,否则重新输入
1,提示用户输入两个数字
如何确定用户每次输入的都是数字,众所周知,ReadLine()方法接收的都是string类型,所以需要声明一个函数,将用户输入的string类型转为int类型,并且,如果用户输入的不是数字,还需提示用户输入数字。
/// <summary>
/// 判断是否输入的是数字,如果是,就转为int类型,如果不是,就提示用户重新输入
/// </summary>
/// <param name="str">用户的输入</param>
/// <returns></returns>
public static int ConvertNumber(string str)
{
while (true)
{
try
{
int i = Convert.ToInt32(str);
return i;
}
catch
{
Console.WriteLine("您输入的不是数字,请输入数字");
str = Console.ReadLine();
}
}
}
2,判断数字大小
这里有要求,必须是第一个数字小于第二个数字,如果第一个数字大于第二个数字,需要提示用户重新输入数字。
/// <summary>
/// 判断第一个数字是否小于第二个数字
/// </summary>
/// <param name="n1">用户输入的第一个数字</param>
/// <param name="n2">用户输入的第二个数字</param>
public static void JudgeNumber(ref int n1, ref int n2)
{
while (true)
{
if (n1 < n2)
{
return;
}
else
{
Console.WriteLine("输入错误,第一个数字必须比第二个数字小,请重新输入第一个数字");
string numberOne = Console.ReadLine();
n1 = ConvertNumber(numberOne);
Console.WriteLine("请重新输入第二个数字");
string numberTwo = Console.ReadLine();
n2 = ConvertNumber(numberTwo);
}
}
}
3,求和
这部分内容简单,只需要一个for循环就能搞定,代码如下
/// <summary>
/// 求和
/// </summary>
/// <param name="n1">从此数开始相加</param>
/// <param name="n2">一直加到此数停止</param>
public static void GetSum(int n1, int n2)
{
int sum = 0;
for (int i = n1; i <= n2; i++)
{
sum += i;
}
Console.WriteLine(sum);
}
4,完整代码如下
static void Main(string[] args)
{
Console.WriteLine("请输入第一个数字");
string number1 = Console.ReadLine();
int number_1 = ConvertNumber(number1);
Console.WriteLine("请输入第二个数字");
string number2 = Console.ReadLine();
int number_2 = ConvertNumber(number2);
JudgeNumber(ref number_1,ref number_2);
GetSum(number_1,number_2);
}
public static void JudgeNumber(ref int n1, ref int n2)
{
while (true)
{
if (n1 < n2)
{
return;
}
else
{
Console.WriteLine("输入错误,第一个数字必须比第二个数字小,请重新输入第一个数字");
string numberOne = Console.ReadLine();
n1 = ConvertNumber(numberOne);
Console.WriteLine("请重新输入第二个数字");
string numberTwo = Console.ReadLine();
n2 = ConvertNumber(numberTwo);
}
}
}
public static void GetSum(int n1, int n2)
{
int sum = 0;
for (int i = n1; i <= n2; i++)
{
sum += i;
}
Console.WriteLine(sum);
}
public static int ConvertNumber(string str)
{
while (true)
{
try
{
int i = Convert.ToInt32(str);
return i;
}
catch
{
Console.WriteLine("您输入的不是数字,请输入数字");
str = Console.ReadLine();
}
}
}