本文目錄一覽:
- 1、Java用查找算法的一段代碼如下: 其中boolean A=false; if(name.equals(arr[i])) 麻煩解釋一下 盡量直白
- 2、java二分搜索算法怎樣實現?
- 3、java關鍵字查詢算法
Java用查找算法的一段代碼如下: 其中boolean A=false; if(name.equals(arr[i])) 麻煩解釋一下 盡量直白
數組從第一個開始比較,完全相同(當前數組值和輸入值一模一樣)A就賦值為true;不一樣A的值不變
java二分搜索算法怎樣實現?
應該要用遞歸方法吧? binarySearch()方法應該要帶四個參數(數組,要查找的數值,查找範圍的最左邊下標,查找範圍的最右邊下標)。然後就利用遞歸方法在 if (x a[middle]) 和 else 後面通過修改查找範圍自調用binarySearch()方法;
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,做為繼續查找的開始位置就可以了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/242297.html