Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单登录Java程序_Java_Login - Fatal编程技术网

简单登录Java程序

简单登录Java程序,java,login,Java,Login,我对Java非常陌生,我想制作一个非常简单的登录Java程序。 不要考虑安全问题,在这个例子中,我只需要帮助就可以了。 我的“帐户信息”必须存储在数组中 这是我的代码: --主要-- --使用者--- 我想这应该是一个非常简单的函数,但由于某些原因,if语句永远不会返回“true” 我做错了什么 Jesper.您做的字符串比较是错误的,在java中,您需要使用.equals()isntead的= 后者比较两个对象引用,这不是您想要的。试试这个 if((username.equals(accoun

我对Java非常陌生,我想制作一个非常简单的登录Java程序。 不要考虑安全问题,在这个例子中,我只需要帮助就可以了。 我的“帐户信息”必须存储在数组中

这是我的代码: --主要--

--使用者---

我想这应该是一个非常简单的函数,但由于某些原因,if语句永远不会返回“true”

我做错了什么


Jesper.

您做的字符串比较是错误的,在java中,您需要使用
.equals()
isntead的
=
后者比较两个对象引用,这不是您想要的。

试试这个

if((username.equals(accounts[0][0])) && (password.equals(accounts[0][1])))

哪个
if
statement?if语句主要在底部。如果我直接传入信息,“jesper”和“abc123”,if语句为true。但由于某些原因,在使用变量时不会这样做?是的,这可能是因为JVM足够聪明,可以对相同的字符串文本使用相同的字符串对象。总之,你对
==
的使用是错误的。嘿,Uku,你的建议成功了,谢谢!供将来参考:java中的对象实现了
equals
方法。对于java
String
此方法定义为逐字符比较字符串值。比较对象的正确方法是使用
equals
方法。Java还有一些基本类型,如
ints
double
s,它们不是
Object
s,因此您可以将它们与
=
进行比较。简而言之:永远不要使用“==”来比较对象(这会比较对象引用,它们基本上是内存地址)。这是一个很好的信息——我认为这解释了为什么==运算符在我的世界中“有时有效,有时无效”。)嘿,这就成功了。以前从未偶然发现过.equals()函数,但我想我需要从现在开始使用它。谢谢!
public class users {
private String username;
private String password;
private String[][] accounts = {{"jesper", "abc123"},{"christian", "abc123"}};

public users(String user, String pass){
    username = user;
    password = pass;
}

public boolean auth(){
    if((username == accounts[0][0]) && (password == accounts[0][1]))
        return true;
    else
        return false;
}

}
if((username.equals(accounts[0][0])) && (password.equals(accounts[0][1])))