所以我要求用户输入用户名,如果用户输入"用户名"那么他/她将会#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!");
}
}
}
答案 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!");
}