java仍然有问题:/下面是我对列表的问题:
if(listKey.size() == 1){
k = listKey.get(0);
}else if(listKey.size() > 1){
for(int q : listKey){
if(listKey.get(q) == listKey.size()){
k = listKey.get(0);
k1 = listKey.get(1);
}
else if(listKey.get(q) == listKey.size() -1 ){
k = listKey.get(q+1);
k1 = listKey.get(0);
}
else if(listKey.get(q) == key && listKey.get(q) != listKey.size()){
k = listKey.get(q+1);
k1 = listKey.get(q+2);
}
}
}else if(listKey.size() == 0){
System.out.println("empty");
}
这给了我一个错误:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 3, Size: 2
at java.util.ArrayList.rangeCheck(ArrayList.java:635)
at java.util.ArrayList.get(ArrayList.java:411)
at com.server.PeerNode.findReplicas(PeerNode.java:222)
at com.server.PeerNode.printMenu(PeerNode.java:154)
at com.server.PeerNode.run(PeerNode.java:99)
at com.server.Main.main(Main.java:64)
我认为我正在正确使用列表以及如何迭代它!当我试图从列表中获取int时,我不会超过列表的大小。提前感谢帮助
Here is my idea: I got a key = 5
case 1: array {4}... i just want to put 4 into k
case 2: array {4,6}.. i just to want to put k=6 and k1=4
case 3: array {4,6,7}.. i just want to put k=6 and k1=7
我知道我的代码被弄乱了。。。还有一些错误。多亏了休,我修好了,现在可以工作了。。。现在是这样的:
if(listKey.size() == 1){
keyreplica1 = listKey.get(0);
}else if(listKey.size() > 1){
listKey.add(key);
Collections.sort(listKey);
for (int q=0; q<listKey.size(); q++){
if(listKey.get(q) == key && listKey.get(q) == listKey.size()){
keyreplica1 = listKey.get(0);
keyreplica2 = listKey.get(1);
}
else if(listKey.get(q) == key && listKey.get(q) == listKey.size() -1 ){
keyreplica1 = listKey.get(q+1);
keyreplica2 = listKey.get(0);
}
else if(listKey.get(q) == key && listKey.get(q) != listKey.size()){
keyreplica1 = listKey.get(q+1);
keyreplica2 = listKey.get(q+2);
}
}
}else if(listKey.size() == 0){
}
listKey是整数列表吗?我认为你在这里混淆了键和值——如果你的列表有一个以上的条目,你循环它的值v,尝试获得列表中的第v个值。例如,如果listKey是{3,4},这将尝试查找列表中的第三个值,这将超过其边界。
我认为使用下面的循环会给你带来你期望的行为:
for (int q=0; q<listKeys.size(); q++){
我正试图将lz78代码作为学校项目编写,但我一直遇到以下错误: 线程“main”java中出现异常。lang.IndexOutOfBoundsException:索引:20,大小:20 下面是代码:
我有个目标: 进入此列表的对象: 我正试着把清单完整地复制下来: 但是我得到一个错误: 获取路线返回:
我正在尝试编写一个lz78代码作为一个学校项目,但我不断得到这个错误: 线程“main”java.lang.IndexOutOfBoundsException异常:索引:20,大小:20 代码如下:
null 我是不是哪里出错了? 有人能帮帮我吗。
我在这里遇到错误。而(ve
我想使用来表示优先级队列。所以我想在ArrayList的特定位置添加项。但当我运行它时,系统告诉我 线程“main”java.lang.IndexOutOfBoundsException:索引:10,大小:0。