2016-10-09 4 views
1

私はjavaでコーディングするのが初めてです。誰も私のコードで私を助けることができますか?私は現在、jTextAreaで文字列を入力するプログラムを作成しています。入力された単語がテキストファイルの文字列と一致する場合、それは何かを行います。テキストファイルの特定の単語を読み込み、何かを行うために条件文を使う方法

たとえば、「He​​y」という単語を入力すると、入力した単語がテキストファイルと一致すると「Hello」のような文字が印刷されます。

私はあなたが何を意味するかを理解していただきたいと思います。

は、ここに私のコードです:

String line; 
    String yo; 
    yo = jTextArea2.getText(); 

    try (
     InputStream fis = new FileInputStream("readme.txt"); 
     InputStreamReader isr = new InputStreamReader(fis, Charset.forName("UTF-8")); 
     BufferedReader br = new BufferedReader(isr); 
    ) 
    { 
     while ((line = br.readLine()) != null) { 

      if (yo.equalsIgnoreCase(line)) { 
       System.out.print("Hello"); 
      } 
     } 
    } catch (IOException ex) { 
     Logger.getLogger(ArfArf.class.getName()).log(Level.SEVERE, null, ex); 
    } 

答えて

1

ラインは、多くの単語が含まれているので、あなたがラインの等号を使用することはできません。行の中の単語の索引を検索するには、それを変更する必要があります。

 try (InputStream fis = new FileInputStream("readme.txt"); 
       InputStreamReader isr = new InputStreamReader(fis, Charset.forName("UTF-8")); 
       BufferedReader br = new BufferedReader(isr);) { 
      while ((line = br.readLine()) != null) { 
       line = line.toLowerCase(); 
       yo = yo.toLowerCase(); 
       if (line.indexOf(yo) != -1) { 
        System.out.print("Hello"); 
       } 
       line = br.readLine(); 
      } 
     } catch (IOException ex) { 
     } 
+0

コードから= br.readLineを()の行を削除してくださいヘルプの種類を与えることができます= br.readLine))。そうした場合、いくつかの行はスキップされます。 – Eric

0

あなたがJavaで新しくなったので、よりクリーンなコードを書くことができるJava 8を勉強する時間を取ることをお勧めします。以下のJava 8内の溶液の書き込みがあり、希望が行が((しばらくラインを割り当てているので、

 String yo = jTextArea2.getText(); 
     //read file into stream, 
     try (java.util.stream.Stream<String> stream = Files.lines(Paths.get("readme.txt"))) { 

      List<String> matchLines = stream.filter((line) -> line.indexOf(yo) > -1).collect(Collectors.toList()); // find all the lines contain the text 
      matchLines.forEach(System.out::println); // print out all the lines contain yo 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
0
import java.io.File; 
import java.io.FileNotFoundException; 
import java.util.Scanner; 

public class WordFinder { 
    public static void main(String[] args) throws FileNotFoundException { 
     String yo = "some word"; 
     Scanner scanner = new Scanner(new File("input.txt")); // path to file 
     while (scanner.hasNextLine()) { 
      if (scanner.nextLine().contains(yo)) { // check if line has your finding word 
       System.out.println("Hello"); 
      } 
     } 
    } 
} 
関連する問題