问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java关键字查询算法

发布网友 发布时间:2022-04-19 19:43

我来回答

4个回答

热心网友 时间:2022-04-10 03:26

import java.io.FileReader;
import java.io.BufferedReader;
import java.io.File;

public class search
{
//查找方法,参数,文件绝对路径,查找关键字
public static boolean search(String filepath,String key)
{
try
{
File f = new File(filepath);
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = "";
//int i = 1;
while((s = br.readLine()) != null)
{
if(s.indexOf(key) != -1)
{
return true;
}
}
return false;
}
catch(Exception e)
{
e.printStackTrace();
return false;
}
}
public static void main(String args[])
{
System.out.println(search.search("d://t.txt","l2"));
}
}

修改了下,加两个变量,可以指出查找的位置。
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.File;

public class search
{
//查找方法,参数,文件绝对路径,查找关键字
public static String search(String filepath,String key)
{
try
{
File f = new File(filepath);
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = "";
int i = 1;
int m = 0;
while((s = br.readLine()) != null)
{
if((m = s.indexOf(key)) != -1)
{
return "第"+i+"段,第"+m+"处";
}
i++;
}
return null;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
public static void main(String args[])
{
System.out.println(search.search("d://t.txt","asd"));
}
}

这个,查汉字是没有问题的。
另外,你要全文检索的话,indexOf()还有个方法,indexOf(int start,String key),指定开始查找的位置跟关键字,你查到一处后,将这个数值加1,做为继续查找的开始位置就可以了。

热心网友 时间:2022-04-10 04:44

你是不是要做文本编辑器?或者是本地搜索类的软件?
如果是的话,恐怕你要去看看自然语言处理方面的东西。
比如分词。你需要把你的要查询的文档分词,然后按照分词的结果做索引。这样才可以!

热心网友 时间:2022-04-10 06:19

这样做不完善啊 假如别人输入
int String
或者
int S
好像也会被认为是关键字吧。

热心网友 时间:2022-04-10 08:10

就用readline方法,
一行一行地查吧,
楼上的算法还是可行的,
要指出在哪一行,
直接在readline中设置一个变量就可以了,
扫过一行自增就行
另外个人认为,
还要考虑这样一种情况,
比如说关键字为 java
但 ja
va
被分开在两行中了,
这个怎么算呢?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
美国在多少个国家有驻军? 美国在哪些国家有驻军? 美国在哪些国家派有驻军? 美国在其本土以外的驻军有多少 美国都在哪些国家有驻军 空调制热的正确调法 守捉郎与侠客行 《长安十二时辰》乱弹之五 小孩子给母亲节的祝福 孩子送给妈妈的母亲节祝福语句子2024 中国篮球a级教练都是谁 JAVA数组中查找算法中equals和==的问题 JAVA中的查找算法如何实现... 高手帮帮忙 java 线性查找算法 大专英语题库在哪搜 surprise island Lily英文题库答案是什么 百题斩和钉题库两个里面的英语统考题库哪个比较好 怎么用英语介绍猿题库 大学英语六级考试翻译题库 2020年12月大学英语B统考题库? 英语试题!! 英语题库单选题目 2020年9月大学英语B统考题库? 初中英语题库 英语题库They are not__sale怎么做 试题库管理系统用英语怎么说比较好试题库 试题库与试题库系统 翻译成英文 什么软件可以搜英语题库,带答案解析的? 大学英语四级题库?含答案!百度云 什么软件可以搜英语题库,带答案解析的 英语题库哪里找? java算法有哪些分别 什么叫java中的二分查找法 java 多条件 查询 算法 用java做简单交通查询算法 快速查找算法 具体文字描述 附java程序更好 拜托各... java线性查找算法的平均次数为什么是n/2 用Java实现搜索算法的关键技术是什么呀? 用JAVA写一个完整的折半查找法!!! java查找二叉树中的元素以及确定位置 java 二分查找法 java版递归算法实现单链表的求长度、查找、替换等操作 JAVA里二分查找法 相关疑问 JAVA 二分算法只能对数字进行查找吗 用java实现,找出分数相同的同学的算法(不考虑去... 微信好友不小心删除了还能找回来吗? vivos1pro是曲屏吗? 能够保终身的医疗保险有哪些? 商业养老保险不是终身 请问商业保险不保终身吗 商业保险包括哪些