黑马程序员技术交流社区
标题:
登录系统.
[打印本页]
作者:
L番茄X
时间:
2015-5-28 16:33
标题:
登录系统.
//控制台登录.倒包.
import java.util.Scanner;
class Demo
{
public static void main(String[]args)
{
//定义登录的密码还有名字.
String Uname = "hellokitty";
String Upwb = "26624";
//系统给出了三次登录的机会.
int count = 3 ;
while(true){
//控制台输入.
Scanner sc = new Scanner(System.in);
//提示输入;
System.out.println("请输入登录的名字:");
//接收登录的名字.
String Youname = sc.next();
System.out.println("请输入登录密码:");
String Youpwb = sc.next();
//判断是否与系统的一样.
if(Youname.equals(Uname)&& Youpwb.equals(Upwb)){
//如果一样那就登录成功.
System.out.println("登录成功!");
break;
}else{
count--;
System.out.println("登录的名字或者密码错误,你还有"+count+"次机会");
break;
}
}
}
}
作者:
曲终烟尽
时间:
2015-5-28 17:06
你的代码有问题。不知道你自己测试没。只能写错一次帐号密码,之后就没反应了,因为你break跳出了while循环,应该在while里加入条件 while(count>0)我把你的代码改一下你看一看:
//控制台登录.倒包.
import java.util.Scanner;
class Test
{
public static void main(String[]args)
{
//定义登录的密码还有名字.
String Uname = "hellokitty";
String Upwb = "26624";
//系统给出了三次登录的机会.
int count = 3 ;
while(count>0)
{
//控制台输入.
Scanner sc = new Scanner(System.in);
//提示输入;
System.out.println("请输入登录的名字:");
//接收登录的名字.
String Youname = sc.next();
System.out.println("请输入登录密码:");
String Youpwb = sc.next();
//判断是否与系统的一样.
if(Youname.equals(Uname)&& Youpwb.equals(Upwb))
{
//如果一样那就登录成功.
System.out.println("登录成功!");
break;
}
else
{
count--;
if(count==0)
{
System.out.println("登录失败!");
break;
}
System.out.println("登录的名字或者密码错误,你还有"+count+"次机会");
}
}
}
}
复制代码
作者:
曲终烟尽
时间:
2015-5-28 17:08
本帖最后由 曲终烟尽 于 2015-5-28 17:10 编辑
修改了两处,一个是while(count>0)
一个是
else语句里的 登录失败判断。
如果不要这个判断就还会输出一次
”还有0次机会“ 这句不合时宜的话。。。
你也可以用for循环,更安全一些,while容易陷入死循环。
for(int i=0;i<count;i++){
你的代码.
}
for(int i=0;i<3;i++){}
作者:
lizhi
时间:
2015-5-28 17:47
你这代码,只能运行一次,需要判断count而不是while(true)
作者:
L番茄X
时间:
2015-5-28 19:04
曲终烟尽 发表于 2015-5-28 17:06
你的代码有问题。不知道你自己测试没。只能写错一次帐号密码,之后就没反应了,因为你break跳出了while循环 ...
是.我漏了判断count了.
作者:
465096445@qq.co
时间:
2015-5-28 21:01
我大黑马就是牛逼。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2