【发布时间】:2017-02-16 10:34:13
【问题描述】:
问题是使用二进制搜索技术搜索一个单词并给出它的位置。我接受数组中的所有单词,然后使用 Arrays.sort对它们进行排序>。然后我使用 binarySearch() 函数搜索用户接受的单词,但该单词的位置显示不正确。 它给出随机输出,我不明白为什么!我写for循环的方式可能有问题! 我附加了一个带有多个输出的输出屏幕。
如果有人可以帮助我,那就太好了!谢谢:)
import java.util.*;
import java.util.Arrays;
public class BinarySearch10
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int i;
System.out.println("Enter number of words you wish to input: ");
int n=sc.nextInt();
String[] words= new String[n];
System.out.println("Enter the words");
for ( i = 0; i < words.length; i++)
{
System.out.print("WORD " + (i + 1) + ": ");
words[i] = sc.next();
}
System.out.println("enter the word you want to search for");
String word=sc.next();
Arrays.sort(words);
int index= Arrays.binarySearch(words,word);
System.out.println(word+ "="+ index);
}
【问题讨论】:
标签: java arrays string sorting binary-search