这个程序读取文本文件,在这种情况下,读取这个文件:
Sam
5 0 0 0
Dave
5 5 0 0
Bill
5 -5 0 0
Louise
3 3 5 0
在我的程序早期,我执行以下while循环:
int count = 0;
while (input.hasNextLine())
{
count++;
if (count % 2 == 1) //for every other line, reads the name
{
String line = input.nextLine();
names.add(line); //puts name into array
}
if (count % 2 == 0) //for every other line, reads the ratings
{
ArrayList<Integer> rtemp = new ArrayList<Integer>();
while (input.hasNextInt())
{
int tempInt = input.nextInt();
rtemp.add(tempInt);
}
allratings.add(rtemp);
}
}
出于某种原因,当这个while循环完成时,int count是14.我只希望它在8,并认为它应该是,考虑到只有8行文本,它应该为每一行执行。显然,这会导致程序后期出现大问题。知道发生了什么事吗?
答案 0 :(得分:0)
从你的第二个循环开始,光标永远不会移动到下一行...我在你的allratings.add(rtemp);
之后添加了以下行并且它有效。
if(input.hasNext())
input.next();