「java查询算法」java查询函数

博主:adminadmin 2023-03-18 11:42:08 529

今天给各位分享java查询算法的知识,其中也会对java查询函数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用JAVA编写一个简单的 查询算法!谢谢大哥大姐了

import java.io.*;

public class Test

{

/**

* @param args

*/

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

{

// TODO Auto-generated method stub

BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

String str=br.readLine();

System.out.println("请输入要查询的单词");

String s=br.readLine();

int count=0;

int m=0;

int begin=-1;

int end=-1;

while(true)

{

if(s.length()==1)

{

begin=str.indexOf(s);

if(m==0)

{

System.out.println("第一次出现在"+begin+"字节处");

}

m++;

end=begin;

}

else

{

begin=str.indexOf(s.substring(0,1));

if(m==0)

{

System.out.println("第一次出现在"+begin+"字节处");

}

end=str.indexOf(s.substring(s.length()-1));

}

if(begin==-1||end==-1)

{

break;

}

if(s.equals(str.subSequence(begin, end+1)))

{

count++;

str=str.substring(end+1);

}

else

{

str=str.substring(end+1);

}

}

System.out.println("单词"+s+"出现了"+count+"次");

}

}

Java用查找算法的一段代码如下: 其中boolean A=false; if(name.equals(arr[i])) 麻烦解释一下 尽量直白

数组从第一个开始比较,完全相同(当前数组值和输入值一模一样)A就赋值为true;不一样A的值不变

java 算法问题

1.查询A仓库存a,如果count小于等于a,则A进行出仓,保存A剩余库存为a-count;

2.如果count大于a,则查询B库存b,此时需要B弥补的出库量count - a,记为k,如果B的库存b大于等于k,则B进行出仓,保存B剩余存库为b-k,保存A剩余库存为0,;

3.如果k大于b,则查询C库存c,此时需要C弥补的出库量count - a - b,记为l,如果C的库存c大于等于l,则C进行出仓,保存B剩余存库为c-l,保存A剩余库存为0,保存B剩余库存为0;

4.如果c小于l,则ABC剩余库存均为0,且无法满足需求count

以上是针对3个仓库做的分析,如果是n个的话,即,从第一个仓库开始

如果An(仓库容量)count,即出仓,保存第n个仓库剩余库存为An-count,同时从1至(n-1)的仓库通通储存量为0(即清仓)

如果An(仓库容量)count,即查询下一个仓库,同时本次仓库列入需要清仓的列表,count值发生变化,count=count-An

以上是我的分析,有什么问题,欢迎指正。希望能帮到你

什么叫java中的二分查找法

1、算法概念。

二分查找算法也称为折半搜索、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。请注意这种算法是建立在有序数组基础上的。

2、算法思想。

①搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;

②如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。

③如果在某一步骤数组为空,则代表找不到。

这种搜索算法每一次比较都使搜索范围缩小一半。

3、实现思路。

①找出位于数组中间的值,并存放在一个变量中(为了下面的说明,变量暂时命名为temp);

②需要找到的key和temp进行比较;

③如果key值大于temp,则把数组中间位置作为下一次计算的起点;重复① ②。

④如果key值小于temp,则把数组中间位置作为下一次计算的终点;重复① ② ③。

⑤如果key值等于temp,则返回数组下标,完成查找。

4、实现代码。

/**

     * description : 二分查找。

     * @param array 需要查找的有序数组

     * @param from 起始下标

     * @param to 终止下标

     * @param key 需要查找的关键字

     * @return

     */

    public static E extends ComparableE int binarySearch(E[] array, int from, int to, E key) throws Exception {

        if (from  0 || to  0) {

            throw new IllegalArgumentException("params from  length must larger than 0 .");

        }

        if (from = to) {

            int middle = (from  1) + (to  1); // 右移即除2

            E temp = array[middle];

            if (temp.compareTo(key)  0) {

                to = middle - 1;

            } else if (temp.compareTo(key)  0) {

                from = middle + 1;

            } else {

                return middle;

            }

        }

        return binarySearch(array, from, to, key);

    }

JAVA中的查找算法如何实现... 高手帮帮忙

这个。。。我随便乱说几句啊,说的不对别见笑。

有一个数组 当中存有一些字符串

另外有一个字典文件 我也将它导入一个数组 有50000多个单词

然后要找出字符串中包含的单词

由你给的条件可知:

1。数组 应该是从前到后依次顺序扫描字符串。

2。50000多个单词的字典文件一定优化。具体优化要看具体内容吧。

比如你可以按单词的首字母排序,然后分组。等扫描字符串的时候可以分组比较。但这种方法应该没省多少时间。

你还可以把50000多个单词的字典文件按单词的长度进行分组。比如1个字母的分成一组,二个字母的分成一组。。。。N个字母的分成一组,这样就分成了N组。然后扫描字符串的时候你可以按后续匹配(好象叫这个算法吧,名字记不清了)算法,这样就可以省很多时间了。

你还可以这样做,因为你要查的是单词,单词一定有意义。那你可以直接把你的字符串数组先进行语法、语义分析并分割,然后再去匹配你的字典。这样应该是最快的。但这要用到自然语言处理。。。

java关键字查询算法

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,做为继续查找的开始位置就可以了。

关于java查询算法和java查询函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。