2012-04-22 4 views
0

を実行中:ループは、このプログラムは、テキストファイルを読み込み、この場合には、この1を読み込み回数が多すぎる

Sam 

5 0 0 0 

Dave 

5 5 0 0 

Bill 

5 -5 0 0 

Louise 

3 3 5 0 

早期私のプログラムでは、私がループしながら、次のコマンドを実行します。

  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); 

      } 


     } 

何らかの理由で、このループが実行されるまでに、int countは14になります。私はそれを8にしたいだけで、8行のテキストしかないことを考慮すると、それはすべきだと思います。各行に対して実行します。明らかに、これはプログラムの後半で大きな問題を引き起こします。何が起こっているか考えてみませんか?

+1

例のようにファイルに空白行がありますか? –

+0

はい、私は正しいと思う14であることが判明したスペースを含む。 –

+0

いいえ、そうではありません。私はちょうどそれをフォーマットするためにそれをしなければならなかった。 – WAMoz56

答えて

0

あなたの2番目のループからは、カーソルが次の行に移動しないようです... allratings.add(rtemp);の直後に以下の行を追加し、それが機能しました。

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

あなた、私の友人は天才です。 – WAMoz56

+0

あなたがそれがあなたを助けたと思われる場合は、正解として選択してください。 –

関連する問題