2017-07-31 128 views
-4

所以你可以看到我有一个是这样的一个文本文件:如何打印特定单词在文本文件中的Java

令人难以置信,联合国,相信能够
虐待,MIS,治疗,换货
理解,理解,能够

我需要得到语素或像如果我在的话虐待类型的示例中,输出将是MIS每个字,治疗,MENT和根词是享受。

这里是我到目前为止的代码:

import java.io.BufferedReader; 
import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.Scanner; 

public class morph { 

    public static void main(String[] args) throws IOException { 

     System.out.println("Enter a word: "); 
     Scanner sc = new Scanner (System.in); 
     sc.nextLine(); 

     BufferedReader br = new BufferedReader(new FileReader("C:/Users/xxxx/Desktop/morphemes.txt")); 
     String line = null; 
     while ((line = br.readLine()) != null) { 

      //i'm stuck 

      System.out.println("The morpheme words are: "); // EG: mis , treat, ment 
      System.out.println("The Root word is: "); // EG: treat 
     } 
    } 
} 

输出应该是:

输入一个单词:虐待 语素字:错,治疗,换货 根词是:善待

问题是我如何在文本文件中打印特定的数据。我不知道我会使用if else语句或字典。如果你要告诉我它应该是一本字典,请帮助我。这是一个NLP主题btw

+6

您需要帮助的是什么问题?你希望我们写代码吗? –

+0

您要求我们搜索解决此问题的特定算法或库。请注意,这些问题通常被认为是SO上的** off-topic **。也许你在[CS stackexchange](https://cs.meta.stackexchange.com/)找到更好的帮助。 – Zabuza

+1

您的“迄今为止的代码”并非真正的解决问题的尝试。代码请求不是问题。请在研究此主题并在发布问题前阅读[帮助]和[问]。 – RealSkeptic

回答

-1

我想方法String.split()可以帮助你在这里。

public String[] words = line.split(String ","); 

// Check if first word in the line equals to the input 
if (words != null && !words.isEmpty() && words[0].equals(sc.toString())) 
{ 
    System.out.println("The morpheme words are: "+words[1]+words[2]); 
    System.out.println("The Root word is: "+words[2]); 
} 
+0

上面他声称有一个带有语素的文本文件?!? – Josi

+0

是的,单词保存在文本文件中,所以用户必须输入其中一个单词,程序应该得到它的语素。我真的无法在互联网上找到帮助,因为它是一个NLP主题 – TheRodDude

+0

正确 - 我无法想象创造语素。对不起 - 然后我明白“我有一个文本文件”错误。我认为这个文件是存在的 - 谁填充了它.... – Josi

相关问题