2017-12-05 1 views
0

ユーザーがテキストファイルを選択します。私はファイルをとり、1行を個々の単語に分割します。私はその後、単語の1つが単語 "the"と等しいかどうかを見るためにifステートメントを取る。最初の行に "the"という単語がありますが、そこには存在しないと言われています。他の "the"は最初のものではありません(はい、私はこれが混乱していることは知っていますが、と短いコンパイルし、実行可能なプログラム - )現時点ではテキストファイルを一度に1行読み込み、単語を配列に分割します。Java

try { 
    BufferedReader br = new BufferedReader(new FileReader(test)); 
    //String text = ""; 
    String line = br.readLine(); 

    //while (line != null) 
    if(line != null) { 
     for(int j = 0; j < 20; j++) //loops through first 20 lines { 
      if(line != null) { 
       //text += line; 
       String[] words = line.toLowerCase().split(" "); 
       for(int i = 0; i < words.length; i++){//loops array of split up words 
        if(words[i].equals("the")) { 
         System.out.println("Found T H E"); 
        } else { 
         System.out.println("Didn't find the"); 
         System.out.println(words[i]); 
        } 
        line = br.readLine(); 
       } 
      } else { 
       System.out.println(""); 
      } 
     } 
    } else { 
     System.out.println("It's null"); 
    } 
    br.close(); 
} catch (Exception ex) { 
    System.err.println("Error" + ex); 
} 
+1

を移動してみてください短いテキストファイルは私たちの質問に掲載されています**私たち**コンパイルして実行することができ、それはあなたの問題を私たちに示すものです。もう1つの推奨事項:デバッガを使用して実際にテストされている文字列を確認する。また、句読点をクリーニングしていますか? –

答えて

2

は、有効な[MCVE]を作成するための最良のラインに

line = br.readLine(); 

ループの外

for(int i = 0; i < words.length; i++){ 
関連する問題