【发布时间】:2017-09-12 03:15:51
【问题描述】:
嘿,我正在尝试在应该返回布尔值的方法中执行 for 循环。但是我不断收到错误消息。基本上数组可以变得非常大,我希望它可以检查整个数组以查找用户名和密码。
public class Users {
private String username;
private String password;
private String[][] accounts = { { "user1", "pass1" }, { "user2", "pass2" } };
public Users(String username, String password) {
this.username = username;
this.password = password;
}
public boolean check() {
for (int i = 0; i < accounts.length; i++) {
if ((username.equals(accounts[i][0])) && (password.equals(accounts[i][1])))
return true;
else
return false;
}
}
}
【问题讨论】:
-
您不会一直收到“错误”。您收到一个非常具体的错误。如果您对编程非常陌生,以至于您不理解该错误,并且您将其视为噪音,但这并不意味着这不重要。实际上,这是迄今为止最重要的事情。 发布。
-
为了澄清,
return语句会立即脱离它们所在的方法,因此当 for 循环将username和password与accounts中的第一个String[]进行比较时,无论值是否相等,循环被打破,方法返回。 -
实际上不,您甚至没有收到错误消息。您的代码无法按您预期的方式运行。
-
@MikeNakis 我相信这就是他们所说的“出错”的意思;他们的代码并没有提供他们想要的东西。
-
更不用说使用并行数组了……
标签: java arrays for-loop boolean