我正在尝试使用包含java扫描程序的if / else语句作为用户名和密码应用程序

时间:2015-07-23 21:30:39

标签: java if-statement

所以我要求用户输入用户名,如果用户输入"用户名"那么他/她将会#14;正确,这是你的用户名!"显示,如果他们弄错了,他们会得到"不正确,这不是你的用户名!"显示。

我遇到的问题是每当我输入用户名时,在此示例中,用户名为"用户名"我显示了不正确的消息。

我想知道我哪里出错了,如果这个问题已经被问了一百万次,是否有人可以将我引导到其中一个已经解决的帖子,那将是很好的,因为我似乎无法找到一个像这个问题的人。

import javax.swing.*;

import java.util.Scanner;

public class userID {

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    String username;
    String password;
    String email;
    String scanner1;

    username = "username";
    password = "password";
    email = "emailhere";

    System.out.println("------------------------------------------");
    System.out.println("Welcome to the ID memory tester");
    System.out.println("Author: me");
    System.out.println("------------------------------------------");

    System.out.println("What is your username?");


    scanner1 = (input.nextLine());


    if (scanner1 == username) {
        System.out.println("Correct, that is your username!");
    } else {
        System.out.println("Incorrect, that is not your username!");
    }
}

}

1 个答案:

答案 0 :(得分:3)

==运算符比较引用。

您需要使用.equals()

将其更改为

   if (scanner1.equals(username)) {
       System.out.println("Correct, that is your username!");
   } else {
       System.out.println("Incorrect, that is not your username!");
   }