怎么老是出现这个异常:java.lang.StringIndexOutOfBoundsException: String index out of range: 2,代码
try{FileReaderreader=newFileReader(filename);BufferedReaderbr=newBufferedReader(reade...
try
{
FileReader reader = new FileReader(filename);
BufferedReader br = new BufferedReader(reader);
String s ;
list=new ArrayList();
String array[][]=new String[64][16] ;//定义二维数组表示64组16路的cache
String first=null;//用于取得除去首字母后的地址
int read=0;//记录读数据次数
int write=0;//用于记录写数据次数
int readOrder=0;
while((s = br.readLine())!= null)
{
first=s.substring(0,2);
if(first.equals(String.valueOf(0)))
{
read++;
}
else if(first.equals(String.valueOf(0)))
{
write++;
}
else if(first.equals(String.valueOf(0)))
{
readOrder++;
}
oCount++;
}
System.out.println(oCount);
System.out.println(read);
System.out.println(write);
System.out.println(readOrder); 展开
{
FileReader reader = new FileReader(filename);
BufferedReader br = new BufferedReader(reader);
String s ;
list=new ArrayList();
String array[][]=new String[64][16] ;//定义二维数组表示64组16路的cache
String first=null;//用于取得除去首字母后的地址
int read=0;//记录读数据次数
int write=0;//用于记录写数据次数
int readOrder=0;
while((s = br.readLine())!= null)
{
first=s.substring(0,2);
if(first.equals(String.valueOf(0)))
{
read++;
}
else if(first.equals(String.valueOf(0)))
{
write++;
}
else if(first.equals(String.valueOf(0)))
{
readOrder++;
}
oCount++;
}
System.out.println(oCount);
System.out.println(read);
System.out.println(write);
System.out.println(readOrder); 展开
3个回答
展开全部
数组越界了,把需要的地方长度打印出来,看看是不是循环什么的超出长度了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你确定每行文本长度都大于2?
追问
是呀
追答
确定没有空行,不如干脆加一个语句检查长度,这问题绝对是超出数组长度
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询