提问人:DP3Ton 提问时间:2/18/2021 最后编辑:Olivier Jacot-DescombesDP3Ton 更新时间:2/18/2021 访问量:2322
C# 获取用户输入并输出为布尔值
C# Getting user input and outputting to boolean
问:
我目前在 C# 新兵训练营。我很难把这些放在一起。任务是为一家保险公司创建一个控制台应用,该应用会询问三个问题。
- 年龄,必须大于 15 岁,
- 任何超速罚单,必须为 3 张或更少,并且
- 酒后驾车,必须回答“假”。然后
- 合格?答案为真/假。
从技术上讲,我不应该在代码中使用“if”语句,因为我们还没有在 C# 课程中介绍“if”语句,所以检查所有 3 个用户输入以打印出一个真/假答案应该是一个基本方程式。我在最后将方程式放在一起以检查所有三个并输出真/假答案时遇到了问题。这是我在这里的第一篇文章,所以,如果我没有提供适当的信息,我深表歉意。任何帮助将不胜感激。
namespace BooleanLogic
{
class Program
{
static void Main(string[] args)
{
int age = 15, speed = 3;
bool DUI = false;
Console.WriteLine("Welcome to TTA Car Insurance. \nYou will be asked a few questions to determine if you qualify. \n");
Console.WriteLine("What is your age?");
age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Have you ever had a DUI? \nPlease enter true or false.");
DUI = Convert.ToBoolean(Console.ReadLine());
Console.WriteLine("How many speeding tickets do you have?");
speed = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Qualified?");
Console.ReadLine();
}
}
}
答:
1赞
Olivier Jacot-Descombes
2/18/2021
#1
您可以在布尔表达式中测试条件,并将结果直接写入控制台。
Console.WriteLine(age > 15 && speed <= 3 && !DUI);
这将打印“true”或“false”。
通常,人们认为布尔表达式必须出现在 if 或 while 语句等中。但布尔表达式是类似于数字(算术)表达式的表达式,可以以相同的方式使用。它们不是返回一个数字,而是返回一个布尔值,但这个值可以分配给变量、打印等。
请注意,您不需要初始化变量,因为您永远不会使用这些值,并且以后会覆盖它们。您还可以声明首次分配值的变量:
int age = Convert.ToInt32(Console.ReadLine());
但是,为条件引入常量是有意义的
const int MinimumAge = 16;
const int MaximumSpeed = 3;
const bool RequiredDUI = false;
然后测试
bool result = age >= MinimumAge && speed <= MaximumSpeed && DUI == RequiredDUI;
这使得更改条件变得更加容易,并使布尔表达式可以自我解释。
评论
0赞
DP3Ton
2/18/2021
感谢您的快速回复。效果完美。
1赞
DP3Ton
2/18/2021
感谢您对此进行更多详细说明。我似乎正朝着正确的方向前进,您的解释帮助我获得了更好的理解。
评论
Console.WriteLine(age > 15 && !DUI && speed <= 3)
Candidate
Decision
static
Decide