我在while循环中练习条件并且对它有点困惑。
我有一个简单的程序,应该通过控制台读取用户的输入(使用扫描程序)。如果输入不等于某个字符串值,则应输出错误并要求用户再次输入。
Scanner input=new Scanner(System.in);
System.out.print("ENTER YOUR NAME : ");
user=input.next();
while(!user.equals("admin") && !user.equals("vlad") && !user.equals("user"))
{
System.out.println("THIS USERNAME IS NOT REGISTERED");
user=input.next();
}
所以我认为当我们输入admin时,while循环应该是这样的:
while(F && T && T)
它应该打破循环并转到下一条指令,但输入后程序崩溃。
如果我们输入任何值,我们应该得到
while(!F && !F && !F)
它应该在while循环中执行指令,但它不会。那么在这些条件下我做错了什么呢?
答案 0 :(得分:0)
修复如下;
您需要String user
并使用&&
Scanner input=new Scanner(System.in);
System.out.print("ENTER YOUR NAME : ");
String user = input.next();
while(!user.equals("admin") && !user.equals("vlad") && !user.equals("user"))
{
System.out.println("THIS USERNAME IS NOT REGISTRED");
System.out.print("ENTER YOUR NAME : ");
user = input.next();
}