黑马程序员技术交流社区
标题:
关于flag=true
[打印本页]
作者:
李龙祺
时间:
2012-12-9 20:25
标题:
关于flag=true
一段关于工资奖励机制的代码 Console.WriteLine("请输入对李四的评判,只能是大写A-B");
string input = Console.ReadLine();
decimal salary = 5000;
bool flag = false;
switch (input)
{
case "A":
salary += 500;
break;
case "B":
salary += 200;
break;
default:
Console.WriteLine("您的输入有问题");
flag = true;
break;
}
if (flag == false)
{
Console.WriteLine("李四的工资是:" + salary);
}
Console.ReadKey();
如果把bool flag=true; 效果是一样的,那是不是代码中的true和false没有真假意义的。
如果把default下的flag=true注释,作用消失。为何?
求解这个技巧原理?
作者:
许庭洲
时间:
2012-12-9 20:36
1. 如果把flag的值赋值为true后,就有可能输不出李四的工资了;
2.如果把default下的flag=true注释掉,程序就会输出异常的工资信息。
作者:
李龙祺
时间:
2012-12-9 20:45
许庭洲 发表于 2012-12-9 20:36
1. 如果把flag的值赋值为true后,就有可能输不出李四的工资了;
2.如果把default下的flag=true注释掉,程序 ...
1.我把flag赋值为true,代码运行也是对的。
2.的情况是不管用户输入是否正确都输出李四工资。
但都没问答我的问题啊。学长
作者:
刘亚龙
时间:
2012-12-9 21:27
不懂你的意思
1,bool flag=true,就不会输出李四的工资
2,default下的flag=true注释,会输出李四工资是5000啊
作者:
汪磊
时间:
2012-12-9 22:04
不能去掉,去掉过后程序有缺陷! 这里是为了当你输入的有问题的时候, 最后那条输出就不会执行, 也就是说当你输入的不是A和B的时候 提示完错误过后不会在输出李四个工资 , 这样程序才算正常!
作者:
李龙祺
时间:
2012-12-10 15:11
刷新 求解这个技巧的运行原理。
定义bool flag=false flag= true 有什么区别 还是只是起到一个架桥的作用?
作者:
苏波
时间:
2012-12-10 21:52
1 :改为true的话,后面的if语句条件不成立,李四的工资将不会输出
2:将其注释后,当输入有问题是,if条件仍然成立,仍然会输出李四的工资是:5000
修改后 虽然代码不会报错但是 作用消失,没有实现正确的功能
作者:
邵帅
时间:
2012-12-10 21:57
你改成true的话,你如果输入错误的工资,比如说字母什么的。报错的同时也会输出最后工资的那条语句,工资就是5000了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2