使用嵌套if结构,部分console.writeline内容显示不出来?
- C# code
static void Main(string[] args) { int enter; int month; Console.WriteLine("请输入您属于哪种参观者:"); Console.WriteLine("1-1.2米以下儿童"); Console.WriteLine("2-大中小学生"); Console.WriteLine("3-离休人员"); Console.WriteLine("4-老年人"); Console.WriteLine("5-其他"); enter = int.Parse(Console.ReadLine()); Console.WriteLine("请输入参观月份"); month = int.Parse(Console.ReadLine()); if (enter == 1 && enter == 3) { if (month >= 1 && month <= 12) { Console.WriteLine("免票"); } else { Console.WriteLine("月份输入错误"); } } else if (enter == 2) { if (month >= 1 && month <= 12) { Console.WriteLine("门票20元"); } else { Console.WriteLine("月份输入错误"); } } else if (enter == 4) { if ((month <= 3 && month >= 1) || (month <= 12 && month >= 11)) { Console.WriteLine("门票20元"); } else if (month > 3 && month < 11) { Console.WriteLine("门票30元"); } else { Console.WriteLine("月份输入错误"); } } else if (enter == 5) { if ((month <= 3 && month >= 1) || (month <= 12 && month >= 11)) { Console.WriteLine("门票60元"); } else if (month > 3 && month < 11) { Console.WriteLine("门票40元"); } else { Console.WriteLine("月份输入错误"); } } Console.ReadLine();
上面代码中,运行后,条件达成后这段代码里的console.writeline内容不显示,其他都可以,为什么呀?
- C# code
if (enter == 1 && enter == 3) { if (month >= 1 && month <= 12) { Console.WriteLine("免票"); } else { Console.WriteLine("月份输入错误"); } } else if (enter == 2) { if (month >= 1 && month <= 12) { Console.WriteLine("门票20元"); } else { Console.WriteLine("月份输入错误"); } }
[解决办法]
if (enter == 1 && enter == 3)
enter 需要同时等于1和3?这个无论如何也办不到啊
[解决办法]
if (enter == 1 && enter == 3)
enter 需要同时等于1和3,这个肯定不能做到。后面当然不能显示了
[解决办法]
没显示出来也就表明没有执行到Console.WriteLine();确认满足了你的条件?
enter == 1 && enter == 3表示enter既要等于1又要等于3,这似乎存在逻辑方面的问题
------解决方案--------------------
logical error