If statement &引用;如果;不';“我不能和”一起工作;keyboard.nextLine();

If statement &引用;如果;不';“我不能和”一起工作;keyboard.nextLine();,if-statement,keyboard,java.util.scanner,If Statement,Keyboard,Java.util.scanner,我必须写正确的密码,如果密码正确,就说“密码正确” 当我写正确的密码时,它会说它不正确 她是我的密码: import java.util.Scanner; class myclass { public static void main(String args[]) { Scanner keyboard = new Scanner(System.in); String name; String password; System.out.println("give your name:\t")

我必须写正确的密码,如果密码正确,就说“密码正确”

当我写正确的密码时,它会说它不正确

她是我的密码:

import java.util.Scanner;
class  myclass
{
public static void main(String args[]) 
{
Scanner keyboard = new Scanner(System.in);
String name;
String password;

System.out.println("give your name:\t");
name=keyboard.nextLine();
System.out.println("Hello"+name);
System.out.println("give your password:\t");
password=keyboard.nextLine();
keyboard.close();

if (password=="www")
{
    System.out.println();
    System.out.println("password is correct") ;
}
else 
{
    System.out.println();
    System.out.println("password isn't correct");        

}




}
}   

您必须使用equals方法而不是==方法,这样它才能工作。 看起来是这样的:

import java.util.Scanner;

class myclass {
    public static void main(String args[]) {
        Scanner keyboard = new Scanner(System.in);
        String name;
        String password;

        System.out.println("give your name:\t");
        name = keyboard.nextLine();
        System.out.println("Hello" + name);
        System.out.println("give your password:\t");
        password = keyboard.nextLine();
        keyboard.close();

        if (password.equals( "www")) {
            System.out.println();
            System.out.println("password is correct");
        } else {
            System.out.println();
            System.out.println("password isn't correct");

        }

    }
}
输出:

give your name: 
name
Helloname
give your password: 
www

password is correct

您不应该使用
=
运算符比较
字符串。您应该使用
equals
方法来比较字符串对象。e、 g.
“www.equals(密码)