关于如何解决循环中重复触发else
在学习中遇到了一种问题,就是有些需要循环条件+if条件完成的方法(如登录判断等)。
例子:// 登录方法
当时想法很简单,判断:如果账号和密码都和输入的相匹配,就登录成功,否则就账号或密码错误;然后想要匹配集合内的数据是否和输入的相等,就得用循环来遍历集合。
然而运行后才发现,这个循环每次进行一次,就会运行一次else的部分,直到i匹配到对应的集合下标才登录成功。
经过思考,我决定把else放到循环外。但是又出现了新的问题,循环外的else与if已经不在同一级。
确实,由于不在同一层级,已经是连接不上了。
然后某个偶然,我想起来可以利用一个中间变量来判断是否运行else的部分。
然后我定义了一个布尔类型的变量flag。
默认给flag = false。
然后在在if语句:如果账号和密码匹配 后把flag = true。
在循环外再设立一个if语句:如果 flag == false,就输出原来else想进行的操作。
这样就可以完美解决循环内执行else语句的问题啦。
完整代码:
这是做练习中遇到的一个问题,记录下来。
标签:语句,触发,登录,账号,重复,else,flag,循环 From: https://www.cnblogs.com/Xyer/p/17185900.html