我对Java是全新的,有一些C#的背景。我目前正在使用Eclipse在一个程序中运行一个方法,将该方法的参数与文本文件中的用户名和密码进行比较。
但是,在运行代码之后,我收到了一个名为“java.lang.ArrayIndexOutOfBoundsException=1”的错误。我不明白为什么会这样。下面包含代码和文件。我试图只读取上面的三个用户名和密码,下面的其他三个只是填充它并在程序中稍后使用。
**更新:好的。我已经修复了将令牌更改为令牌[0]和令牌1。但还是不行。
**更新号。2:另外,这是当我调用方法时包含的代码。下图:
s.login("tomrichards", "96744213");
public boolean login (String user, String password) {
FileReader fr = new FileReader ("auth.txt");
LineNumberReader r = new LineNumberReader (fr);
String I = "";
boolean identity = false;
String name = "";
String password = "";
while ((I = r.readLine()) != null) {
String [] token = I.split(";");
name = token[0];
pass = token[1];
if (name.equals(user) && pass.equals(password)) {
identity = true;
System.out.println("Username " + name + "Password " + pass);
return true;
}
else {
identity = false;
return false;
}
}
r.close();
}
**更新3:我仔细检查了一下,看是否有遗漏“;”但没有。
您的文本文件有空行
如果i
没有任何可拆分的;
,则必须考虑结果数组的大小。
还要注意了解Java数组是从0
索引的
我犯的错误 我的密码 我试图将数组的最后5个元素存储在temp 2中。那我就换了。有更简单的方法吗?将数组的前五个元素与后五个元素切换?你会如何用for循环切换它们?
问题内容: 我有我必须取消一些索引的数组,所以现在看起来像 如您所见,[2]丢失了,我需要做的就是重置索引,因此它们显示为[0]-[3]。 问题答案: 使用。
我们目前正在使用搜索踢宝石,它的工作原理很棒。最近我尝试在本地开发环境中将elasticsearch升级到7。我得到了它,并使用家庭酿造运行(研究后,我需要运行)。当我去重新索引我的模型之一时,我得到了以下映射错误: 使用elasticsearch 6.8.4时不会出现此错误。有人能给我指一个解决这个问题的资源吗?
问题内容: 我已经声明了我的数组 然后我初始化它的值像 在运行时,它给出错误“数组索引超出范围” 问题答案: 正如评论员@C_X和@MartinR所说,您的数组为空。这是根据需要初始化的方法… …当然,如果您只想零,那么循环现在是多余的!
我是Java新手,我试图连接到我的本地PSql数据库,但没有成功,下面是代码和错误的详细信息。 我有两个文件:dbcontract.java和testconnection.java,我正在使用Eclipse。 java TestConnection.java 错误:
问题内容: 我有一个使用该函数构建的数组,但是看到我如何将其与随机/动态数据一起使用,我看到索引不断变化: 我需要始终从0开始对数组进行排序。我正在测试不同的数据,有时它从0开始,而在其他测试中,它从不同的数字开始。我进行了研究,发现数组从零开始,但似乎仅适用于该用户的特定情况。 我怎样才能做到这一点? 问题答案: $your_new_array = array_values($your_old_