如何使用|和&在Java中,正确循环超过2个值?

时间:2015-10-28 06:15:15

标签: java

我在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循环中执行指令,但它不会。那么在这些条件下我做错了什么呢?

1 个答案:

答案 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();
}