在一个较大的项目中,我从文本文件创建了一个字符串的ArrayList,其中文本文件的每一行在ArrayList中获得自己的索引,因此这些行按顺序存储在列表中。
我需要以下方法来返回包含空行的ArrayList中的下一个索引。由于从文件读入行,因此在读入行时不能将行定义为null ...或者至少我不能以这种方式使用它。
这是我到目前为止的代码:
public static int nextBlankIndex(int num){
//returns the index in the file input arraylist of the next blank line after line number "num"
//used to find spaces between questions
for(int i=0; i<in.size();i++)
{
String line = in.get(i);
if(line.equals(""));
return (num-1)+i;
}
return -1;
}
任何建议或编辑都会一如既往地受到高度赞赏。提前谢谢。
答案 0 :(得分:1)
您似乎是通过在num-1
语句中添加return
来调整结果。但是您并未在使用i
的所有其他位置添加它,因此搜索始终从第一行开始。
最简单的调整是在i = num
开始循环。
public static int nextBlankIndex(int num) {
for (int i = num; i < in.size(); i++) {
String line = in.get(i);
if (line.equals("")) {
return i;
}
}
return -1;
}
if
声明之后你也有一个分散的分号。
答案 1 :(得分:1)
你想从num开始,所以从它开始,只返回匹配的索引
for(int i=num; i<in.size();i++)
{
String line = in.get(i);
if(line.equals(""))
return i;
}