我正在尝试编写一个lz78代码作为一个学校项目,但我不断得到这个错误:
线程“main”java.lang.IndexOutOfBoundsException异常:索引:20,大小:20
代码如下:
public class LZ88 {
ArrayList input = new ArrayList();
ArrayList stored = new ArrayList();
Iterator counter = input.iterator();
int count=0;
int lz78(String x)
{
int length=x.length();
for(int i=0;i<x.length();i++)
{
input.add(x.charAt(i));
}
for(int i=0;i<=input.size(); i++)
{
if(stored.contains(input.get(i))==true)
{
String str ;
StringBuilder sb = new StringBuilder();
sb.append(input.get(i));
sb.append(input.get(++i));
str=sb.toString();
while(stored.contains(str)==true)
{
sb.append(input.get(++i));
str=sb.toString();
}
stored.add(str);
System.out.println(stored);
}
else
{
stored.add(x.charAt(i));
System.out.println(stored);
}
}
return 0;
}
public static void main(String[] args) {
String x ="abaababaababbbbbbbba";
LZ88 ob = new LZ88();
ob.lz78(x);
}
}
将(int i=0;i<=input.size();i++)的替换为(int i=0;i
我正试图将lz78代码作为学校项目编写,但我一直遇到以下错误: 线程“main”java中出现异常。lang.IndexOutOfBoundsException:索引:20,大小:20 下面是代码:
我得到错误java.lang.IndexOutOfBoundsException:index:0,size:0。
我在这里遇到错误。而(ve
我想使用来表示优先级队列。所以我想在ArrayList的特定位置添加项。但当我运行它时,系统告诉我 线程“main”java.lang.IndexOutOfBoundsException:索引:10,大小:0。
java仍然有问题:/下面是我对列表的问题: 这给了我一个错误: 我认为我正在正确使用列表以及如何迭代它!当我试图从列表中获取int时,我不会超过列表的大小。提前感谢帮助 我知道我的代码被弄乱了。。。还有一些错误。多亏了休,我修好了,现在可以工作了。。。现在是这样的:
正如标题所说,我的问题是,当我编译时,我在线程“main”java.lang.IndexOutOfBoundsException:Index:1,Size:1中得到了Exception。这是问题产生的部分。 编辑。 我一直在网上寻找解决方案,所以我很确定问题是数组太小,但我仍然不确定如何解决它。我试图让代码的上半部分只从数组中取出数字并将它们放入一个新的数组中。 这是我调用的其他方法。 我已经坚持