我想使用二进制搜索算法来搜索用户在一个非常大的排序文件中输入的字符串。我无法将用户输入的字符串与位于文件中间行的字符串进行比较,以继续我的二进制搜索。
例如,如果用户的字符串是abcda
,而文件的字符串是abcza
,那么很明显,用户的字符串比文件的字符串要小。它是如何在java中实现的?这将是伟大的,如果你可以帮助我的示例代码。
发布于 2013-07-03 20:51:00
如果你想忽略大小写,你可以使用以下命令:
String s = "yip";
String best = "yodel";
int compare = s.compareToIgnoreCase(best);
if(compare < 0){
//-1, --> s is less than best. ( s comes alphabetically first)
}
else if(compare > 0 ){
// best comes alphabetically first.
}
else{
// strings are equal.
}
发布于 2011-03-01 18:59:07
你没听说过String
正在实现的Comparable
接口吗?如果不是,请尝试使用
"abcda".compareTo("abcza")
它将为你的问题的解决方案提供一个很好的基础。
发布于 2021-05-19 16:55:55
String bigString = null;
for(int i = 0; i < number; i++){
System.out.println("... ");
String sentence = sc.nextLine();
if(bigString == null || sentence.compareTo(bigString) > 0) {
bigString = sentence;
}
}
System.out.println("...: " + bigString);
https://stackoverflow.com/questions/5153496
复制相似问题