黑马程序员技术交流社区
标题:
if-else 循环
[打印本页]
作者:
samuelziul
时间:
2013-7-5 18:06
标题:
if-else 循环
请问如果代码中用到if-else , 想将其中的if 部分或者else部分的语句循环,譬如用户输入错了,继续要他输入,直到输入对为止,要如何实现?
作者:
风雪再现
时间:
2013-7-5 18:33
while (true)
{
Console.WriteLine("请输入用户名:");
string strName = Console.ReadLine();
Console.WriteLine("请输入密码:");
string strPwd = Console.ReadLine();
if (strName == "admin" && strPwd == "888888")
{
Console.WriteLine("登录成功!");
return;
}
else
{
Console.WriteLine("用户名或密码错误!请重新输入!");
}
}
Console.ReadKey();
如果,你要if-else中进行循环,也可以用while比如:while(strName!="admiin"){} //只要用户名不正确,就一直循环让输入用户名,密码也是一样
作者:
lanbuohan
时间:
2013-7-5 19:38
为什么不考虑一下try呢,不管其输入的是否与你所要的相同,都能继续的执行,而且你还能知道错误的地方
作者:
dongqinglove
时间:
2013-7-5 20:08
就按照一楼的写法,先搞个死循环,然后验证用户名和密码是否正确,不过我建议一楼的写法最好是用break,而不是return
作者:
许大虾
时间:
2013-7-6 13:33
在if里面嵌套while 或者 for 或者switch 然后调用return 或者break 方法
作者:
changweihua
时间:
2013-7-6 16:39
把判断输入单独写个方法,输入出错,就不停的调用方法,正常直接输出
作者:
XXL
时间:
2013-7-7 12:48
本帖最后由 XXL 于 2013-7-7 12:51 编辑
string username=null;
string password=null;
do
{
Console.WriteLine("请输入用户名:");
username = Console.ReadLine();
Console.WriteLine("请输入密码:");
password = Console.ReadLine();
} while (!(username == "admin" && password == "123"));
Console.WriteLine("登录成功!");
只要用户名不是admin密码不是123就会一直在循环里,就不能提示“用户名密码错误”了。可以把检测放到一个带返回值的方法里,在方法里写提示登录是否成功,再把方法放进while中,while通过检测方法的返回值决定是否继续循环
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2