0

我在包含超过 80,000 个单词的原始文件夹中有一个哈希集和一个文本文件。我想将散列集的每个元素与文本文件的单词进行比较。但我遇到了一个问题。

public class MainActivity extends Activity
{ 
@Override
protected void onCreate(Bundle savedInstanceState)  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    lays=(LinearLayout)findViewById(R.id.lays);

TextView tvv=new TextView(MainActivity.this);
                try {
                    tvv.setText(onCompare(MainActivity.this, sett));
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                lays.addView(tvv); }

我比较的方法是:onCompare 文件是:data.txt

    private String onCompare(Context context, HashSet set) throws IOException
{
    InputStream is = context.getResources().openRawResource(R.raw.data);
    String ch=new String();
     StringBuilder text = new StringBuilder();
    Iterator<String> it=set.iterator();
    String s;
    while(it.hasNext())
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(is));

         s=it.next().toString();

        while((ch=br.readLine())!= null)
    {
        if(s.equals(ch))
        {
        text.append(ch);
        text.append('\n');
            break;
        }
    else continue;
    }


}
    return text.toString();
}

我正在 onCreate 方法中名为 tvv 的文本视图中打印这个 StringBuilder 对象。但是文本视图中没有打印任何内容。我认为if条件有问题。

4

1 回答 1

0

当然,您的 Condition 似乎存在问题。尝试替换if(s.equals(ch))if(s.contains(ch))

while((ch = br.readLine())!= null) {
    if(s.contains(ch)) {
        text.append(ch);
        text.append('\n');
            break;
    }
}
于 2013-09-30T10:06:27.800 回答