循环执行的次数太多了

时间:2012-04-22 14:40:20

标签: while-loop

这个程序读取文本文件,在这种情况下,读取这个文件:

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行文本,它应该为每一行执行。显然,这会导致程序后期出现大问题。知道发生了什么事吗?

1 个答案:

答案 0 :(得分:0)

从你的第二个循环开始,光标永远不会移动到下一行...我在你的allratings.add(rtemp);之后添加了以下行并且它有效。

if(input.hasNext())
  input.next();