如何在控制台应用程序中输入数字c#
问题描述:
我有一个简单的控制台应用程序,我希望使用者只能输入数字。这里的代码如何在控制台应用程序中输入数字c#
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
int n, sum;
sum = 5000;
Console.WriteLine("enter number of conversations");
n = int.Parse(Console.ReadLine());
if (n <= 100)
{
sum = sum + n * 5;
}
else
{
sum += (100 * 5) + (n - 100) * 7;
}
Console.WriteLine(sum);
Console.ReadKey();
}
}
}
答
这应该做的伎俩。在这种情况下,你
Console.Write("enter number of conversations ");
int n;
while(!int.TryParse(Console.ReadLine(), out n)
{
Console.Clear();
Console.WriteLine("You entered an invalid number");
Console.Write("enter number of conversations ");
}
if(n <= 100)
//continue here
答
投注选项int.TryParse
而不是为int.Parse()
它可以帮助你确定无效输入。你可以实现以下逻辑来使其工作;
Console.WriteLine("enter number of conversations");
if(int.TryParse(Console.ReadLine(), out n)
{
if (n <= 100)
{
sum = sum + n * 5;
}
else
{
sum += (100 * 5) + (n - 100) * 7;
}
Console.WriteLine(sum);
}
else
{
Console.WriteLine("Invalid input , Enter only number");
}
答
您应该使用,而不是“解析”和使用“的TryParse”梅索德一个“做{...} while”循环,这样你就不必再重复丑陋的代码。
注意我已经添加了一个字符串变量来处理用户输入。此代码会一次又一次地询问转换次数,直到输入有效数字。然后它会执行你的其他代码。
class Program
{
static void Main(string[] args)
{
int n, sum;
string input;
sum = 5000;
do
{
Console.WriteLine("enter number of conversations");
input = Console.ReadLine();
} while (int.TryParse(input, out n) == false);
if (n <= 100)
{
sum = sum + n * 5;
}
else
{
sum += (100 * 5) + (n - 100) * 7;
}
Console.WriteLine(sum);
Console.ReadKey();
}
}
那么问题是什么? – Idos