“线程中的异常”;“主要”;java.lang.IndexOutOfBoundsException:索引:20,大小:20
我正试图将lz78代码作为学校项目编写,但我一直遇到以下错误: 线程“main”java.lang.IndexOutOfBoundsException中的异常:索引: 20号,尺码:20号 代码如下:“线程中的异常”;“主要”;java.lang.IndexOutOfBoundsException:索引:20,大小:20,java,Java,我正试图将lz78代码作为学校项目编写,但我一直遇到以下错误: 线程“main”java.lang.IndexOutOfBoundsException中的异常:索引: 20号,尺码:20号 代码如下: public class LZ88 { ArrayList input = new ArrayList(); ArrayList stored = new ArrayList(); Iterator counter = input.iterator(); int c
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);
}
}
公共类LZ88{
ArrayList输入=新的ArrayList();
存储的ArrayList=新的ArrayList();
迭代器计数器=输入。迭代器();
整数计数=0;
int lz78(字符串x)
{
int length=x.length();
对于(int i=0;iReplacefor(int i=0;iReplacefor)(int i=0;i)此错误发生在哪一行?堆栈跟踪是什么?请回答并添加堆栈跟踪。与您一样,将布尔值与真值进行比较是没有意义的。无论比较与否,它的实际值都是相同的。例如if(stored.contains)(input.get(i))==true)
在功能上与if(stored.contains(input.get(i))相同
此错误发生在哪一行?堆栈跟踪是什么?请回答并添加堆栈跟踪。将布尔值与true进行比较是没有意义的。无论它的实际值是什么,无论您是否进行比较都是相同的。例如,if(stored.contains(input.get(i))==true)
在功能上与if相同(stored.contains(input.get(i)))
@Mohamed Mamdoh如果我的答案符合您的问题,请单击我答案旁边的空心复选标记接受答案,该复选标记位于VotedDown箭头下方,因此复选标记变为绿色。如何接受:@Mohamed Mamdoh如果我的答案符合您的问题,请单击空心复选标记接受答案rk位于我的答案旁边,该答案位于向下箭头的正下方,因此复选标记变为绿色。如何接受: