如何使用try/catch检查数字是否在1-3范围内?c# /*Propmt饮料用户*/ 而(!bool_有效) { bool_valid=true; 控制台。WriteLine(“请选择一种饮料;按1表示可乐,按2表示雪碧,按3表示Prpper医生”); 尝试 { int_bvg_type=Convert.ToInt32(Console.ReadLine()); (int_bvg_型>0)和&(int_bvg_型0)和&(int_bvg_type0)和&(int_bvg_type0)和&(int_bvg_type0&&int_bvg_type0和int_bvg_type0&&int_bvg_type0和int_bvg_type0)和&(int_bvg_型0)和&(int_bvg_型
我需要确保一个数字输入,作为一个变量,在1和3之间,并且想知道如何使用C和如何使用try/catch检查数字是否在1-3范围内?c# /*Propmt饮料用户*/ 而(!bool_有效) { bool_valid=true; 控制台。WriteLine(“请选择一种饮料;按1表示可乐,按2表示雪碧,按3表示Prpper医生”); 尝试 { int_bvg_type=Convert.ToInt32(Console.ReadLine()); (int_bvg_型>0)和&(int_bvg_型0)和&(int_bvg_type0)和&(int_bvg_type0)和&(int_bvg_type0&&int_bvg_type0和int_bvg_type0&&int_bvg_type0和int_bvg_type0)和&(int_bvg_型0)和&(int_bvg_型,c#,C#,我需要确保一个数字输入,作为一个变量,在1和3之间,并且想知道如何使用C和Try/Catch来实现它。我试过(int_bvg_type>0)和&(int_bvg_type0)和&(int_bvg_type0)和&(int_bvg_type0&&int_bvg_type0和int_bvg_type0&&int_bvg_type0和int_bvg_type0)和&(int_bvg_型0)和&(int_bvg_型
Try/Catch
来实现它。我试过(int_bvg_type>0)和&(int_bvg_type<4)代码>。。。但是我得到一个错误,说我不能用它作为一个声明。有人能解释一下如何使用Try/Catch
检查数字是否在1和3之间吗?您需要一个简单的if语句。而不是Try
/Catch
/*Propmt user for beverages*/
while (!bool_valid)
{
bool_valid = true;
Console.WriteLine("Plesae Choose a Drink; Press 1 for Coke, Press 2 for Sprite, Press 3 for Dr.Prpper");
try
{
int_bvg_type = Convert.ToInt32(Console.ReadLine());
(int_bvg_type > 0) && (int_bvg_type < 4);
}
catch
{
Console.WriteLine("PLease enter a Number between 1 and 3");
bool_valid = false;
}
}
并捕获您的格式异常
:
if(!(beverageType > 0 && beverageType < 4))
{
throw new FormatException("Please enter a Number between 1 and 3");
}
您需要一个简单的if语句。而不是try
/catch
/*Propmt user for beverages*/
while (!bool_valid)
{
bool_valid = true;
Console.WriteLine("Plesae Choose a Drink; Press 1 for Coke, Press 2 for Sprite, Press 3 for Dr.Prpper");
try
{
int_bvg_type = Convert.ToInt32(Console.ReadLine());
(int_bvg_type > 0) && (int_bvg_type < 4);
}
catch
{
Console.WriteLine("PLease enter a Number between 1 and 3");
bool_valid = false;
}
}
并捕获您的格式异常
:
if(!(beverageType > 0 && beverageType < 4))
{
throw new FormatException("Please enter a Number between 1 and 3");
}
您不需要try/catch语句
catch(FormatException ex)
{
Console.WriteLine(ex.Message);
}
bool validInput=false;
而(!validInput)
{
Console.WriteLine(“请选择一种饮料;按1表示可乐,按2表示雪碧,按3表示普勒博士”);
int_bvg_type=int.Parse(Console.ReadLine());
if((int_bvg_type>0)和&(int_bvg_type<4))
validInput=true;
}
您还可以查看是否有人输入了非数字字符。您不需要try/catch语句
catch(FormatException ex)
{
Console.WriteLine(ex.Message);
}
bool validInput=false;
而(!validInput)
{
Console.WriteLine(“请选择一种饮料;按1表示可乐,按2表示雪碧,按3表示普勒博士”);
int_bvg_type=int.Parse(Console.ReadLine());
if((int_bvg_type>0)和&(int_bvg_type<4))
validInput=true;
}
您还可以查看是否有人输入了非数字字符。Try catch不是推荐的方法。Try-catch用于异常。只有当您的程序实际引发异常时,它才会起作用
我建议的方法如下:
bool validInput = false;
while (!validInput)
{
Console.WriteLine("Please choose a Drink; Press 1 for Coke, Press 2 for Sprite, Press 3 for Dr.Prpper");
int_bvg_type = int.Parse(Console.ReadLine());
if ((int_bvg_type > 0) && (int_bvg_type < 4))
validInput = true;
}
if(!(int_bvg_type>0&&int_bvg_type<4))
{
Console.WriteLine(“请输入一个介于1和3之间的数字”);
}
如果你仍然想通过try-catch来实现,那么这就可以了。但坦率地说,这只是愚蠢的代码:
if(!(int_bvg_type > 0 && int_bvg_type < 4))
{
Console.WriteLine("PLease enter a Number between 1 and 3");
}
/*Propmt饮料用户*/
而(!bool_有效)
{
bool_valid=true;
控制台。WriteLine(“请选择一种饮料;按1表示可乐,按2表示雪碧,按3表示Prpper医生”);
尝试
{
int_bvg_type=Convert.ToInt32(Console.ReadLine());
if(!(int_bvg_type>0和int_bvg_type<4)){
抛出新异常();
}
}
抓住
{
Console.WriteLine(“请输入一个介于1和3之间的数字”);
bool_valid=false;
}
}
不推荐使用Try catch。Try-catch用于异常。只有当您的程序实际引发异常时,它才会起作用
我建议的方法如下:
bool validInput = false;
while (!validInput)
{
Console.WriteLine("Please choose a Drink; Press 1 for Coke, Press 2 for Sprite, Press 3 for Dr.Prpper");
int_bvg_type = int.Parse(Console.ReadLine());
if ((int_bvg_type > 0) && (int_bvg_type < 4))
validInput = true;
}
if(!(int_bvg_type>0&&int_bvg_type<4))
{
Console.WriteLine(“请输入一个介于1和3之间的数字”);
}
如果你仍然想通过try-catch来实现,那么这就可以了。但坦率地说,这只是愚蠢的代码:
if(!(int_bvg_type > 0 && int_bvg_type < 4))
{
Console.WriteLine("PLease enter a Number between 1 and 3");
}
/*Propmt饮料用户*/
而(!bool_有效)
{
bool_valid=true;
控制台。WriteLine(“请选择一种饮料;按1表示可乐,按2表示雪碧,按3表示Prpper医生”);
尝试
{
int_bvg_type=Convert.ToInt32(Console.ReadLine());
if(!(int_bvg_type>0和int_bvg_type<4)){
抛出新异常();
}
}
抓住
{
Console.WriteLine(“请输入一个介于1和3之间的数字”);
bool_valid=false;
}
}
我可以推荐以下结构:
/*Propmt user for beverages*/
while (!bool_valid)
{
bool_valid = true;
Console.WriteLine("Plesae Choose a Drink; Press 1 for Coke, Press 2 for Sprite, Press 3 for Dr.Prpper");
try
{
int_bvg_type = Convert.ToInt32(Console.ReadLine());
if(!(int_bvg_type > 0 && int_bvg_type < 4)){
throw new Exception();
}
}
catch
{
Console.WriteLine("PLease enter a Number between 1 and 3");
bool_valid = false;
}
}
我是否可以推荐以下结构良好:
/*Propmt user for beverages*/
while (!bool_valid)
{
bool_valid = true;
Console.WriteLine("Plesae Choose a Drink; Press 1 for Coke, Press 2 for Sprite, Press 3 for Dr.Prpper");
try
{
int_bvg_type = Convert.ToInt32(Console.ReadLine());
if(!(int_bvg_type > 0 && int_bvg_type < 4)){
throw new Exception();
}
}
catch
{
Console.WriteLine("PLease enter a Number between 1 and 3");
bool_valid = false;
}
}
(int_bvg_型>0)和&(int_bvg_型<4)
您的行是一个表达式,需要将其指定给变量,或对其求值,就像在if语句中一样
正如大家所说,try-catch不是您需要的东西,只是使用if语句
catch(FormatException ex)
{
Console.WriteLine(ex.Message);
}
(int_bvg_型>0)和&(int_bvg_型<4)
您的行是一个表达式,需要将其指定给变量,或对其求值,就像在if语句中一样
试捕不是你需要的东西,正如每个人都说的那样,只需使用if语句。我认为你不想在这里尝试捕捉,if/else听起来是个更好的主意,try/catch只能用于处理您无法控制的异常情况。我可以将try的第二行集成到if/else中,然后在try/catch完成后使用if/else吗?@LukeMcGregor好的,OP可能会捕获FormatException和OverflowException,这可以thrown@ConradFrix这是一个很好的理由在这里捕捉到一些东西,他仍然应该使用if进行实际范围验证,或者可能是开关上的默认值,您需要使用“TryParse”。。。这似乎是一个家庭作业问题。我认为你不想在这里尝试,如果/否则听起来是个更好的主意,try/catch只能用于处理您无法控制的异常情况。我可以将try的第二行集成到if/else中,然后在try/catch完成后使用if/else吗?@LukeMcGregor好的,OP可能会捕获FormatException和OverflowException,这可以thrown@ConradFrix这是一个很好的理由在这里捕捉到一些东西,他仍然应该使用if进行实际范围验证,或者可能是开关上的默认值,您需要使用“TryParse”
catch(FormatException ex)
{
Console.WriteLine(ex.Message);
}